خب در اولِ این نوشته ی علمی بگم کهاین نوشته ی
طراحی اپلیکیشن در مشهد علمی اولی نوشته ی علمی پروژه محور تارنما برنامه نویس ها میباشد :)
بریم سراغ پروژه خب امروز میخوایم که یک اپ لامپ قوه بنویسیم در اولِ عمل یک نرم افزار در IDE خویش ساختوساز می کنیم
در اولِ عمل یک دکمه ساخت میکنیم که وقتی روی آن کلیک شد لامپ قوه پرنور یا این که سکوت بشود که اینجانب از گذشته فراهم کردم و کد های XML این ورقه رو در اختیارتون قرار میدم
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:id="@+id/linear1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
android:background="#000000"
android:gravity="center_horizontal|center_vertical"
android:orientation="vertical"
android:layout_gravity="center_horizontal|center_vertical">
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="85dp"
android:padding="8dp"
android:text="پرنور"
android:textSize="30sp"
android:textColor="#FFFFFF"/>
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:text="برنامه نویس ها barnamenevisan.org"
android:textSize="12sp"
android:textColor="#FFFFFF"/>
درحال حاضر ما یک دکمه داریم که خواهیم توانست با onclick شدن آن لامپ قوه را پرنور و بی سر و صدا کنیم
این از کد های XML اکنون بریم سراغ کد های جاوا در صدر یک متغیر Boolean تمجید می کنیم یادتان باشد که به طور پیشفرض آن را False قرار بدیم
private boolean on_and_off = false;
اینم از این درحال حاضر دو تابع بنویسیم که هروقت صدا شدن تابع اولیه لامپ قوه را پرنور و تابع دوم لامپ قوه را بی سروصدا نماید
تابع تعریف و تمجید گردیده برای پرنور شدن لامپ قوه
public void _flashLightOn () {
android.سخت افزار.camera2.CameraManager cameraManager = (android.سخت افزار.camera2.CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String cameraId = cameraManager.getCameraIdList()[0]; cameraManager.setTorchMode(cameraId, true); } catch (android.سخت افزار.camera2.CameraAcces*******ception e) { }
}
تابع تعریف و تمجید گردیده برای سکوت شدن لامپ قوه
public void _flashLightOff () {
android.سخت افزار.camera2.CameraManager cameraManager = (android.سخت افزار.camera2.CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String cameraId = cameraManager.getCameraIdList()[0]; cameraManager.setTorchMode(cameraId, false); } catch (android.سخت افزار.camera2.CameraAcces*******ception e) { }
}
اکنون بریم سراغ اصل مقاله :)
یعنی هنگامی که دکمه ای که در صدر تمجید کردیم onclick بشه
private void initialize(Bundle _savedInstanceState) {
linear1 = (LinearLayout) findViewById(R.id.linear1);
button1 = (Button) findViewById(R.id.button1);
textview1 = (TextView) findViewById(R.id.textview1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View _view) {
if (on_and_off) {
_flashLightOff();
button1.setText("پرنور ");
int[] colorsCRNRK = { Color.parseColor("#006aff"), Color.parseColor("#00ffe4") }; android.graphics.drawable.GradientDrawable CRNRK = new android.graphics.drawable.GradientDrawable(android.graphics.drawable.GradientDrawable.Orientation.BR_TL, colorsCRNRK);
CRNRK.setCornerRadii(new float[]{(int)64,(int)64,(int)64,(int)64,(int)64,(int)64,(int)64,(int)64});
CRNRK.setStroke((int) 0, Color.parseColor("#000000"));
button1.setElevation((float) 12);
button1.setBackground(CRNRK);
on_and_off = false;
}
else {
_flashLightOn();
button1.setText("بدون صدا");
int[] colorsCRNIK = { Color.parseColor("#ff2800"), Color.parseColor("#ff00f9") }; android.graphics.drawable.GradientDrawable CRNIK = new android.graphics.drawable.GradientDrawable(android.graphics.drawable.GradientDrawable.Orientation.BR_TL, colorsCRNIK);
CRNIK.setCornerRadii(new float[]{(int)64,(int)64,(int)64,(int)64,(int)64,(int)64,(int)64,(int)64});
CRNIK.setStroke((int) 0, Color.parseColor("#000000"));
button1.setElevation((float) 12);
button1.setBackground(CRNIK);
on_and_off = true;
}
}
});
}
خب اینم از این هم اکنون یکم بهتون درباره با کد بالا توضیح بدم
زمانی که کلیک میشه روی دکمه کد های بالای ما اعمال میشن
یادتونه متغیرمون رو False کرده بودیم؟ دراین شرطی که در کد های بالا وجود داره میگه که هنگامی True نبود لامپ قوه رو پرنور کن و متغیر رو True کن
درحال حاضر مخاطب برای توشه دوم کلیک که میکنه متغیر ما که True گردیده پس شرط مهم اجرا میشه یعنی لامپ قوه بی سر و صدا میشه و مجدد متغیر False میشه
و به همین روال اگه مخاطب مجدد کلیک که کرد لامپ قوه پرنور میشه
خب تموم شد :)
تمام سورس پروژه رو در یک پوشه ZIP براتون پیوست میکنم و میتونید به راحتی به سورس بی نقص دسترسی داشته باشید ;)
همینطور دراین فولدر ، فولدر APK رو هم براتون قرار میدم که کامپایل گردیده همین سورسه
اینجا یه نکته هم بگم :
انقدم اینجانب بی ذوق وسلیقه نیستما بخاطر اینکه سریع کارو تموم کنیم یه مقدار زشت شد وگرنه اطمینان فرمایید بیشتر از اینا خلاقیت دارم :)
ضمنا خودمونی کلام کردنم توی نوشتهیعلمی هم تنها جهت این بود که ریلکس خیس تعامل فرمایید امیدوارم سبب ساز دلخوری نشده باشه
امیدوارم به دردتان خورده باشد
برنده و برنده باشید .