Flash light free source code
تعلم الاندرويد اليوم سوف نقوم بعرض وانشاء تطبيق الكشاف اوالمصباح على برنامج الاندرويد
الخطوات
تحميل الاندرويد ع جهازك
عن طريق الرابط التالي:
http://developer.android.com/sdk/installing/installing-adt.html
ونقوم بتحميل الملف المضغوط نقوم با استخراج المحتويات ونذهب الي مجلد لجهازنا بعد ذلك
نقوم بعمل التالي
نذهب لملف eclipse ثم نقوم بتشغيل eclipse.exe
نذهب الي قائمة file ثم new ثم new android application project
نقوم بتسمية المشروع كما في الصوره
ثم بعد ذلك نضغط Next ثم تطلع لنا صفحه برضه نسوي Next تطلع لنا الصفحه التالي
من Browse نقوم يمكن لك ان تختار اي صوره كشعار لبرنامجك
ثم نضغط Next ثم Next ثم Finish
يفتح المشروع ثم
نذهب الي res -activity_main.xml ونكتب الكود الي تحت
________________________________________________________________
تحميل الاندرويد ع جهازك
عن طريق الرابط التالي:
http://developer.android.com/sdk/installing/installing-adt.html
ونقوم بتحميل الملف المضغوط نقوم با استخراج المحتويات ونذهب الي مجلد لجهازنا بعد ذلك
نقوم بعمل التالي
نذهب لملف eclipse ثم نقوم بتشغيل eclipse.exe
نذهب الي قائمة file ثم new ثم new android application project
نقوم بتسمية المشروع كما في الصوره
ثم بعد ذلك نضغط Next ثم تطلع لنا صفحه برضه نسوي Next تطلع لنا الصفحه التالي
من Browse نقوم يمكن لك ان تختار اي صوره كشعار لبرنامجك
ثم نضغط Next ثم Next ثم Finish
يفتح المشروع ثم
نذهب الي res -activity_main.xml ونكتب الكود الي تحت
________________________________________________________________
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<ImageButton
android:id="@+id/btnSwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dip"
android:src="@drawable/btn_switch_on"
android:background="@null"
android:contentDescription="@null"
/>
</RelativeLayout>
_____________________________________________________________________
بعدها نذهب لصفحة الاذونات
AndroidManifest.xml
________________________________________________________
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amarseel.mligt"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.amarseel.mligt.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
_____________________________________________________
بعدها نذهب لكود الجافاالي موجود في src
MainActivity.java
نضيف التالي
_________________________________________________
package com.amarseel.mligt;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
public class MainActivity extends Activity {
ImageButton btnSwitch;
private Camera camera;
private boolean isFlashOn;
private boolean hasFlash;
Parameters params;
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// flash switch button
btnSwitch = (ImageButton) findViewById(R.id.btnSwitch);
// First check if device is supporting flashlight or not
hasFlash = getApplicationContext().getPackageManager()
.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
if (!hasFlash) {
// device doesn't support flash
// Show alert message and close the application
AlertDialog alert = new AlertDialog.Builder(MainActivity.this)
.create();
alert.setTitle("Error");
alert.setMessage("Sorry, your device doesn't support flash light!");
alert.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// closing the application
finish();
}
});
alert.show();
return;
}
// get the camera
getCamera();
// displaying button image
toggleButtonImage();
// Switch button click event to toggle flash on/off
btnSwitch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isFlashOn) {
// turn off flash
turnOffFlash();
} else {
// turn on flash
turnOnFlash();
}
}
});
}
// Get the camera
private void getCamera() {
if (camera == null) {
try {
camera = Camera.open();
params = camera.getParameters();
} catch (RuntimeException e) {
Log.e("Camera Error. Failed to Open. Error: ", e.getMessage());
}
}
}
// Turning On flash
private void turnOnFlash() {
if (!isFlashOn) {
if (camera == null || params == null) {
return;
}
// play sound
playSound();
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
isFlashOn = true;
// changing button/switch image
toggleButtonImage();
}
}
// Turning Off flash
private void turnOffFlash() {
if (isFlashOn) {
if (camera == null || params == null) {
return;
}
// play sound
playSound();
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(params);
camera.stopPreview();
isFlashOn = false;
// changing button/switch image
toggleButtonImage();
}
}
// Playing sound
// will play button toggle sound on flash on / off
private void playSound(){
if(isFlashOn){
mp = MediaPlayer.create(MainActivity.this, R.raw.light_switch_off);
}else{
mp = MediaPlayer.create(MainActivity.this, R.raw.light_switch_on);
}
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.release();
}
});
mp.start();
}
/*
* Toggle switch button images
* changing image states to on / off
* */
private void toggleButtonImage(){
if(isFlashOn){
btnSwitch.setImageResource(R.drawable.btn_switch_on);
}else{
btnSwitch.setImageResource(R.drawable.btn_switch_off);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
protected void onPause() {
super.onPause();
// on pause turn off the flash
turnOffFlash();
}
@Override
protected void onRestart() {
super.onRestart();
}
@Override
protected void onResume() {
super.onResume();
// on resume turn on the flash
if(hasFlash)
turnOnFlash();
}
@Override
protected void onStart() {
super.onStart();
// on starting the app get the camera params
getCamera();
}
@Override
protected void onStop() {
super.onStop();
// on stop release the camera
if (camera != null) {
camera.release();
camera = null;
}
}
}
________________________________________________________________________________
ليظهر لنا برنامج متكامل نقود بعمل بالضغط على Run
ومنها Run as -android application
للحصول علي برنامجك
بعد كل هذه الخطوات نقوم بالدخول والبحث عن مجلد workspace
ومن ثم ندخل اليه ووندخل الي مجلد المشروع ثم الي مجلد bin ثم نحصل علي التطبيق ويكون التطبيق علي شكل
apk.أسم مشروعك