الخميس، 24 يوليو 2014

Built-in Camera Mobile Application (Android Target Project)


1.       Manifest File:
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- the package name and the version of the application extracted from the appinfo tag in the AM -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.icpmd.camera"
android:versionCode="1"
android:versionName="1.0.0.0">
<uses-sdk
       android:minSdkVersion="8"
       android:targetSdkVersion="17" />
<!-- the permissions list extracted from the permissions tag in the AM and the permissions database -->
<uses-permission android:name=" android.permission.Camera" />
<!-- the icon and label of the application extracted from the appinfo tag in the AM -->
<application      android:icon="@drawable/applicationicon"
android:label="CameraApp"  >
<!-- the default activity name is extracted from the appinfo tag in the AM -->
<activity      android:name="edu.icpmd.camera.MainPage"       
android:label="Camera" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
2.       User Interface (UI) File:
Res/layout/mainpage.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainPage"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
android:orientation="vertical">
<TableLayout
    android:id="@+id/LayoutRoot"
    android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
    android:layout_width="match_parent" android:layout_height="wrap_content" >
<LinearLayout
    android:id="@+id/TitlePanel"
    android:layout_width="match_parent"
  android:layout_height="wrap_content"
    android:paddingBottom="28dp"
    android:paddingLeft="12dp"
    android:paddingRight="0dp"
    android:paddingTop="17dp" >
<TextView
    android:layout_width="wrap_content"
  android:layout_height="wrap_content"
    android:text="MY APPLICATION" />
<TextView
    android:layout_width="wrap_content"
  android:layout_height="wrap_content"
    android:paddingBottom="0dp"
    android:paddingLeft="9dp"
    android:paddingRight="0dp"
    android:paddingTop="-7dp"
    android:text="Camera App" />
</LinearLayout></TableRow>
<TableRow
    android:layout_width="fill_parent"
android:layout_height="wrap_content" >
 
<RelativeLayout
    android:id="@+id/contentpanel"
    android:layout_width="fill_parent"    android:layout_height="wrap_content"
android:paddingBottom="0dp"
    android:paddingLeft="12dp"
    android:paddingRight="12dp"
    android:paddingTop="0dp"
    android:text="Camera App" >
<Button
    android:id="@+id/capture"    android:layout_height="wrap_content"  android:layout_below="@+id/image1"
android:onClick="cameraCapture_Click"
    android:paddingBottom="0dp"
    android:paddingLeft="49dp"
    android:paddingRight="0dp"
    android:paddingTop="412dp"
    android:layout_width="334dp"
    android:layout_height="72dp"
    android:text="Camera Capture" >
</Button>
<ImageView  android:id="@+id/image1"
 android:paddingBottom="0dp"
android:paddingLeft="25dp"
android:paddingRight="0dp"
android:paddingTop="19dp"
android:layout_width="406dp"
android:layout_height="269dp"  
android:layout_below="@+id/button1"/>
</RelativeLayout>
</TableRow></TableLayout>
</LinearLayout>
3.       Code File:
src/edu/icpmd/miniBrowser/MainPage.java
package edu.icpmd.camera;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
public class MainPage extends Activity {
ImageView image1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainpage);  
image1 = (ImageView) findViewById(R.id.image1);
}
public void cameraCapture_Click(View arg0)
    {
Intent cameraCaptureTask = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraCaptureTask,0)
    }
@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK)
{
Bitmap bmp = (Bitmap) data.getExtras().get("data");
     image1.setImageBitmap(bmp);
}
}
}

Built-in Camera Mobile Application (Windows Phone 8 Source Project)


1.       Manifest File:
Properties/WMAppManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
 <DefaultLanguage xmlns="" code="en-US" />
 <App xmlns="" ProductID="{86602b8c-3386-4d53-9061-4010038430fd}" Title="CameraApp" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="camera author" Description="Sample description" Publisher="camera" PublisherID="{52fa765c-ce63-4113-a70c-46ecadbcd9b2}">
    <IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
    <Capabilities>
     <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
     <Capability Name="ID_CAP_SENSORS" />
     <Capability Name="ID_CAP_ISV_CAMERA" />
    </Capabilities>
    <Tasks>
     <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
    </Tasks>
    <Tokens>
     <PrimaryToken TokenID="cameraToken" TaskName="_default">
       <TemplateFlip>
         <SmallImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileSmall.png</SmallImageURI>
         <Count>0</Count>
         <BackgroundImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileMedium.png</BackgroundImageURI>
         <Title>camera</Title>
         <BackContent>
         </BackContent>
         <BackBackgroundImageURI>
         </BackBackgroundImageURI>
         <BackTitle>
         </BackTitle>
         <DeviceLockImageURI>
         </DeviceLockImageURI>
         <HasLarge>
         </HasLarge>
       </TemplateFlip>
     </PrimaryToken>
    </Tokens>
    <ScreenResolutions>
     <ScreenResolution Name="ID_RESOLUTION_WVGA" />
     <ScreenResolution Name="ID_RESOLUTION_WXGA" />
     <ScreenResolution Name="ID_RESOLUTION_HD720P" />
    </ScreenResolutions>
 </App>
</Deployment>
2.       User Interface (UI) file:
MainPage.xaml
<phone:PhoneApplicationPage
   x:Class="camera.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
   xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"   xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
   mc:Ignorable="d"
   FontFamily="{StaticResource PhoneFontFamilyNormal}"
   FontSize="{StaticResource PhoneFontSizeNormal}"
   Foreground="{StaticResource PhoneForegroundBrush}"
   
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
   <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
       <Grid.RowDefinitions>
           <RowDefinition Height="Auto"/>
           <RowDefinition Height="*"/>
       </Grid.RowDefinitions>
       <!--TitlePanel contains the name of the application and page title-->
       <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
           <TextBlock Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
           <TextBlock  Text="Camera App" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
       </StackPanel>
       <!--ContentPanel - place additional content here-->
       <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
          <Button Content="Camera Capture" Height="72" HorizontalAlignment="Left" Margin="49,412,0,0" Name="capture" VerticalAlignment="Top" Width="334" Click="cameraCapture_Click" />
           <Image Height="269" HorizontalAlignment="Left" Margin="25,19,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="406" />
       </Grid>
    </Grid>
</phone:PhoneApplicationPage>
3.       Code file:
Source Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using camera.Resources;
using Microsoft.Phone.Tasks;
using System.Windows.Media.Imaging;
namespace camera
{
    public partial class MainPage : PhoneApplicationPage
    {
       // Constructor
public MainPage()
    {           InitializeComponent();         }
private void cameraCapture_Click(object sender, RoutedEventArgs e)
       {
CameraCaptureTask cameraCaptureTask;
// initializes the task object, and identifies the method to run after the user completes the task.
cameraCaptureTask = new CameraCaptureTask();
cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);
           cameraCaptureTask.Show();
       }
void cameraCaptureTask_Completed(object sender, PhotoResult e)
       {
if (e.TaskResult == TaskResult.OK)
 {
BitmapImage bmp = new BitmapImage();                bmp.SetSource(e.ChosenPhoto);
 
image1.Source = bmp;
           }
       }
    }
}