loading...

مقالات طراحی اپ موبایل

بازدید : 29
يکشنبه 29 آبان 1401 زمان : 11:26

برای اینکه رئیس Session را از روش shared preferences اعمال دهیم، مورد نیاز میباشد طراحی اپلیکیشن که مقادیر یا این که داده های ذخیره گردیده در shared preferences در سیاق onResume را بررسی کنیم. در صورتی ما داده ای نداشته باشیم، نرم افزار را از آغاز، انگار که جدید نصب شد‌ه‌است، استارت می‌کنیم. البته در شرایطی‌که داده ای داشته باشیم ، از هنگامی آن را استارت می‌کنیم که استفاده کننده آن را رها نموده است.
این قضیه در نمونه پایین توضیح داده گردیده است.

نمونه:

نمونه ذیل به کارگیری از Session Management را توضیح میدهد. این نمونه یک نرم افزار (basic application) اساس تولید می نماید که به ما اذن می‌دهد برای نخسین بار وارد سیستم شویم . آن‌گاه زمانی فارغ از log out از اپلیکیشن بیرون شویم ، رایاپارس در هنگام ورود دوباره به نرم افزار ، از به عبارتی بخش پیشین شروع به فعالیت خواهید کرد. البته درصورتی که log out را اجرا دهیم به کاغذ ی ورود بازگردانده می شویم.

برای تست این نمونه مورد نیاز میباشد آن را روی یک دستگاه حقیقی یا این که یک تقلید کننده اعمال نمایید.

برای ساخت و ساز یک اپ ی اندروید از اندروید استودیو زیر پکیج com.example.sairamkrishna.myapplication به کارگیری میکنیم
فولدر src/MainActivity.java را برای اضافه کردن کد session تغییر‌و تحول دهید.
یک اکتیویتی تازه تولید نمائید و آن را با تیتر Welcome.java اسم گذاری نمایید. این فولدر را دستکاری فرمایید تا progress code را به کد session اضافه نمائید.
فولدر res/layout/activity_main.xml را تغییر تحول دهید تا کد XML مربوطه را به آن اضافه نمایید.
اپلیکیشن را جاری ساختن نمایید و یک دستگاه اجرایی اندروید گزینش کرده و نرم افزار را روی آن نصب فرمائید و نتیجه ها را پژوهش نمایید.

محتوای MainActivity.java :

package com.example.sairamkrishna.myapplication;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.Operating System.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
EditText ed1,ed2,ed3;
Button b1;
Intent in;

public static final String MyPREFERENCES = "MyPrefs" ;
public static final String Name = "nameKey";
public static final String Phone = "phoneKey";
public static final String Email = "emailKey";
SharedPreferences sharedpreferences;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ed1=(EditText)findViewById(R.id.editText);
ed2=(EditText)findViewById(R.id.editText2);
ed3=(EditText)findViewById(R.id.editText3);

b1=(Button)findViewById(R.id.button);
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String n = ed1.getText().toString();
String ph = ed2.getText().toString();
String e = ed3.getText().toString();

SharedPreferences.Editor editor = sharedpreferences.edit();

editor.putString(Name, n);
editor.putString(Phone, ph);
editor.putString(Email, e);
editor.commit();

in = new Intent(MainActivity.this,second_main.class);
startActivity(in);
}
});
}
}
محتوای second_main.java :

package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.Operating System.Bundle;
import android.view.View;
import android.widget.Button;

public class second_main extends Activity {
Button bu=null;
Button bu2=null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_main);

bu=(Button)findViewById(R.id.button2);
bu2=(Button)findViewById(R.id.button3);
}

public void logout(View view){
SharedPreferences sharedpreferences = getSharedPreferences(MainActivity.MyPREFERENCES, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.clear();
editor.commit();
}

public void close(View view){
finish();
}
}

برچسب ها طراحی اپلیکیشن ,
بازدید : 34
شنبه 28 آبان 1401 زمان : 11:26

JSON مخفف JavaScript Object Notation است، طراحی اپلیکیشن که حالتی غیر وابسته از داده و شایسته ترین تعیین برای XML است.
این نوشته‌ی علمی توضیح می‌دهد که چه‌گونه یک فولدر JSON را تجزیه کرده و داده ها ما یحتاج را از آن حصول کنیم.

اندروید چهار مجموعه متعدد رایاپارس برای اجرای داده ی JSON ارائه می‌دهد که عبارتند از:

JSONArray
JSONObject
JSONStringer
JSONTokenizer .
او‌لین مرحله معلوم کردن فیلد هایی در داده ی JSON میباشد .
در JSON ارائه گردیده در ذیل ، صرفا علاقمند به تصاحب کردن دما هستیم.

{
"sys":
{
"country":"GB",
"sunrise":1381107633,
"sunset":1381149604
},
"weather":[
{
"id":711,
"main":"Smoke",
"description":"smoke",
"icon":"50n"
}
],

"main":
{
"temp":304.15,
"pressure":1009,
}
}
المان های های JSON :
یک فولدر JSON دارنده مولفه های اکثری است. در اینجا جدول مولفه های JSON و تعریف و تمجید آنها را مشاهده میکنید :

([)Array : در یک پوشه JSON کروشه ( [ ) علامت دهنده ی یک ستون JSON است.
({ )Objects : در یک فایل JSON این علامت (}) نشانه دهنده ی یک آبجکت JSON میباشد.
Key : یک آبجکت JSON کلیدی میباشد که تنها یک حرفه است. جفت های کلید/مقدار(value/key) یک آبجکت JSON را تشکیل می‌دهند.
Value : هر کلید می‌تواند پاره ای داشته باشد که‌این مقدار قادر است فن ، integer یا این که double یا این که غیره باشد

تجزیه ی JSON :
برای تجزیه ی JSON یک آبجکت از کلاس JSONObject ساخت‌و‌ساز خوا هیم کرد و یک حرفه (string ) مشمول داده ی JSON برای آن مشخص و معلوم می‌کنیم.
سینتکس آن مانند ذیل میباشد.

String in;
JSONObject reader = new JSONObject(in);
واپسین مرحله ، تجزیه ی JSON میباشد. یک فولدر JSON دربرگیرنده آبجکت های گوناگون با جفت های متعدد key/value و غیره می‌گردد. به این ترتیب JSONObject دارنده تابع جدا از هم برای تجزیه ی هر مولفه از پوشه JSON است. سینتکس آن به صورت پایین میباشد :

JSONObject sys = reader.getJSONObject("sys");
country = sys.getString("country");

JSONObject main = reader.getJSONObject("main");
temperature = main.getString("temp");
مشی getJSONObject آبجکت JSON را گزارش می‌دهد. طریق getString مقدار فن ی یک کلید معلوم را گزارش میدهد (return می نماید ) .

خلال این روال ها، اسلوب های دیگری برای تجزیه ی خوب JSON بوسیله این کلاس ارائه می گردند که میتوانید در لیست پایین ملاحظه کنید :

(get(String name : این سیاق تنها مقدار را return می نماید، ولی به صورت آبجکت.
(getBoolean(String name : این سیاق مقدار Boolean مشخص و معلوم گردیده بوسیله کلید را return می نماید.
(getDouble(String name : این روال مقدار double معلوم گردیده بوسیله کلید را return می نماید.
(getInt(String name : این سیاق مقدار درست ( integer) مشخص و معلوم گردیده به وسیله کلید را return می نماید.
(getLong(String name : این اسلوب مقدار طولی (long value) معلوم گردیده به وسیله کلید را return می نماید.
()length : این روال تعداد نگاشت های اسم / مقدار (name/value) درین آبجکت را return می نماید .
()names : این سیاق آرایه ای از اسم های حرفه ای در‌این آبجکت را return می نماید .

برچسب ها طراحی اپلیکیشن ,
بازدید : 32
پنجشنبه 26 آبان 1401 زمان : 11:15

Room کتابخانه تازه Google برای ذخیره داده ها در دیتابیس میباشد طراحی اپلیکیشن که برای سهولت ایجاد کرد نرم افزار های آفلاین پیاده سازی گردیده‌است. Room کوشش داراست درحالی که قابلیت به کار گیری از تک تک توان SQL را مهیا می نماید، رایاپارس قابلیت رئیس اطلاعات به طور شی های جاوا را نیز ممکن نماید. همینطور Room با بقیه اجزای کتابخانه معماری گوگل (Google\'s Architecture Components) که برای ایجاد کرد نرم‌افزار های باکیفیت میباشد نیز به خیر سازگار میباشد. Room برای رئیس داده های حجیم با به کار گیری از کتابخانه کاغذ بندی، نیز به خیر و خوبی کارآمد است.

طراحی

در پی یک اپلیکیشن مثال با به کارگیری از Room طراحی میکنیم.

اضافه کردن نیازمندی ها به پوشه گریدل

در بالا اعتقاد نتایج فرمایید که مخزن کتابخانه های Google Maven را به پوشه گریدل اضافه کرده باشید:

allprojects {
repositories {
google()
jcenter()
}
}
آنگاه در پوشه app/build.gradle کتابخانه Room را به لیست نیازمندی ها اضافه نمائید. در کد پایین برای راحتی در تغییر تحول ورژن Room از یک متغیر برای ذخیره ورژن Room مستعمل:

ext {
roomVersion = "2.1.0"
}

dependencies {
// Room for simple persistence with an ORM
implementation "androidx.room:room-runtime:$roomVersion"
annotationProcessor "androidx.room:room-compiler:$roomVersion"
}

انتخاب جای ذخیره ساختارها

در صورتیکه کد پایین را به پوشه app/build.gradle اضافه فرمائید، در هنگام کامپایل کد ، ساختار جدول ها در فایل schemas ذخیره می گردند. بعد این ساختارها را می‌توانید پژوهش فرمایید.

android {
defaultConfig {

javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
}

}

تعریف‌و‌تمجید جدول ها

به طور پایین سبک هر جدول دیتابیس را با Entity@ نشانه گذاری فرمایید:

import androidx.room.Entity;

@Entity
public class Organization {
// ستون های این جدول را به صورت فیلد کلاس اینجا می نویسیم
}
در مرحله آن گاه می بایست هریک از فیلد های کلاس که می‌خواهیم ردیف جدول باشد را علامت گذاری کنیم:

// Mohamadreza Amani
// Email: help4usr@gmail.com
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;

@Entity
public class Organization {

@ColumnInfo
@PrimaryKey(autoGenerate=true)
Long id;

@ColumnInfo
String name;
}
نکته: بایستی دستکم یک فیلد را تحت عنوان کلید مهم از روش نشانه گذاری PrimaryKey@ معلوم نمایید. کد autoGenerate=true برای انتخاب اتوماتیک کلید اساسی (فارغ از نیاز به وارد کردن مقدار برای آن هنگام اضافه کردن سطر تازه به جدول) مستعمل. در‌این حالت کلید مهم از عدد یک شروع میشود و با هر توشه وارد کردن سطر تازه به جدول مقدار آن یک واحد اضافه میگردد. کلید اساسی به طور ۱و۲و۳و۴و۵و... میباشد. در شرایطی که پس از ساخته شدن دیتابیس این کد را اضافه کردید بایستی schema ی دیتابیس آپ تو دیت رسانی خواهد شد.

برچسب ها طراحی اپلیکیشن ,
بازدید : 32
چهارشنبه 25 آبان 1401 زمان : 11:59

بعضا از مزیت های اساسی معماری کامپوننت ها در پایین آورده شده میباشد.

1- این کامپوننت ها سبب ماژولار شدن نرم افزار میگردند طراحی اپلیکیشن و تمرکز انها بر جداسازی بخش های متفاوت کدهای نرم افزار میباشد.

2- امداد میکنند که چرخه حیات نرم افزار را مدیر نمایید رایاپارس و از کرش کردن اپلیکیشن در طول چرخش دستگاه رها گردید.

3- به شما یاری میکنند تا اطلاعات را به طور به یادماندنی نگه دارید و نرم افزار های افلاین بسازید.

4- برای دوری از هدر رفت یاد و مشکلاتی از این دست یاری میکند.

5- پرهیز از تایپ کردن کد خسته کننده (boring boilerplate code) .

معماری پایانی

گوگل ارشادوراهنمایی هایی را برای معماری کامپوننت ها آماده نموده است تا به تشکیل داد نرم افزار های مدرن یاری دهد و حتی پیشنهادهایی هم راجع‌به اینکه کدام معماری برای کدام مقصود استعمال شود نیز میدهد.

صورت 6 یک دیاگرام از معماری پیشنهادی میباشد که بوسیله دسته اندروید در نصیب آیین نامه های این معماری گنجانده گردیده است.

این معماری توصیه میکند که اکتویتی و فرگمنت را مدل نگه داریم به‌این شکل که تنها کدهای مرتبط با رابط کاربری مثل click listeners و... را در آن نگه می‌داریم.

ViewModel- داده های مایحتاج کنترلگر های رابط کاربری مثل اکتیویتی و فرگمنت ها را آماده می نماید که‌این امداد میکند تغییرات در تنظیمات در جانبداری بمانند.

ViewModel- اطلاعات را از repository میگیرد، که نقش یک منبع یکتا از داده های حقیقی و واقعی را فعالیت می نماید، بدین مفهوم که هر فرصت که نرم افزار به داده نیاز داشته باشد، اطلاعات مدام از repository می‌آیند.

-این repository میباشد که تصمیم می‌گیرد اطلاعات با به کارگیری از Room از مقر داده محلی گرفته شوند (واکشی شوند) یا این که با به کار گیری از Retrofit از اینترنت خدمت گرفته شوند.

گوگل به کار گیری از Retrofit را برای کدهای مرتبط با کانال توصیه می‌دهد وهمچنین استعمال از تزریق تعلق (احتمالا Dagger) برای کنار هم چسباندن این کامپوننت ها را سفارش می‌دهد.

برچسب ها طراحی اپلیکیشن ,
بازدید : 27
پنجشنبه 19 آبان 1401 زمان : 11:00

SDK در اندروید ، مشتمل بر یک امولاتور دستگاه مجازی گوشی میباشد طراحی اپلیکیشن که بر روی کامپیوتر شما نصب و انجام میگردد.
این امولاتور به شما اذن میدهد اولی گام ها برای آزمایش و توسعه و گسترش نرم افزار خویش را سوای نیاز به دستگاه فیزیکی گوشی اعمال دهید

کلاً Emulator به شما اذن میدهد تا از دستگاه گوشی حقیقی وواقعی ، فارغ از خرید آن ، مشابه سازی کرده و مجموع تلاش های آن را آیتم استعمال قرار دهید . اندروید به شما اذن می‌دهد تا با ساخت‌و‌ساز دستگاه مجازی ، پیکره بندی های متفاوت اندروید را مشابه سازی نمایید. رایاپارس به لهجه معمولی ، امولاتور مشابه ساز دستگاه گوشی شماست و محیطی شبیه گوشه و کنار گوشی هوشمند برای شما آماده می کند تا بتوانید نرم افزار کد نویسی گردیده ی خویش را در آن آزمایش کرده و مشکلات و اشکالات احتمالی آن را رفع نمایید :

در‌این نوشته ی علمی قصد داریم عملکرد های گوناگون emulator را که در دستگاه های اندروید هم وجود دارا هستند، پژوهش کنیم.

ساخت AVD:
چنانچه می‌خواهید یک دستگاه حقیقی وواقعی را مشابه سازی نمائید ، آغاز می بایست یک AVD با پیکره بندی های به عبارتی دستگاه حقیقی ، تولید نمایید ؛ بعد این AVD را از بخش AVD manager شروع فرمائید.

تغییر‌و تحول جهت (Changing Orientation) :
هنگامی امولاتور را فعال‌ساز‌ی میکنید ، جهت آن به صورت پیش فرض عمودی میباشد البته میتوانید به واسطه ی کلید میانبر Ctrl+F11 جهت آن را تغییر تحول دهید . مانند تصویر پایین :

زمانی کلید میانبر Ctrl+F11 را بزنید تصویر تحت را خواهید رویت کرد :

برچسب ها طراحی اپلیکیشن ,
بازدید : 113
چهارشنبه 18 آبان 1401 زمان : 10:40

اکثری از دستگاه های اندروید حسگر (سنسور) های داخلی دارا‌هستند که تکان ، طراحی اپلیکیشن جهت و بخش اعظمی از حالت محیطی دیگر را متوجه گردیده و می سنجند. نواع شم گرها:

حسگر های حرکتی
حسگر های محیطی
حسگر های شرایط
بعضا حسگر ها دشوار افزاری (سخت افزار based) و بعضا دیگر قابل انعطاف افزاری (software based ) می باشند. رایاپارس حسگر (سنسور) هر چه باشد ، اندروید به ما اذن می‌دهد تا اطلاعات را از این حسگر ها به دست آوریم و از آن در نرم افزار خویش به کار گیری کنیم. برای این خواسته اندروید به ما کلاس هایی را ارائه می‌دهد :

اندروید کلاس SensorManager و Sensor را برای به کارگیری در نرم افزار ارائه میدهد.
برای به کارگیری حسگر ها او‌لین کاری که بایستی جاری ساختن دهید این میباشد که یک آبجکت از کلاس SensorManager را تحت عنوان مثال قرار دهید، که از روش سینتکس تحت به دست می‌آید.

SensorManager sMgr;
sMgr = (SensorManager)this.getSystemService(SENSOR_SERVICE);
مبادرت آینده ، قرار دادن یک آبجکت از کلاس حسگر ها با فراخوانی اسلوب ()DefaultSensor از کلاس SensorManager است.
سینتکس آن در پایین ارائه گردیده است :

Sensor light;
light = sMgr.getDefaultSensor(Sensor.TYPE_LIGHT);
هنگامی که حسگر شناسایی شد، موردنیاز میباشد مستمع ی آن را رجیستر کرده و دو اسلوب AccuracyChanged و onSensorChanged را وارد فرمایید.
سینتکس آن مانند تحت میباشد :

sMgr.registerListener(this, light,SensorManager.SENSOR_DELAY_NORMAL);
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}

public void onSensorChanged(SensorEvent event) {
}
لیست حسگرهای جانبداری گردیده :
شما می‌توانید لیستی از حسگر هایی داشته باشد که با فراخوانی روال getSensorList ، به وسیله دستگاه جانبداری میگردند .
لیست حسگرها دربرگیرنده اطلاعاتی از قبیل اسم و شماره ی نسخه و غیره است . سینتکس آن در تحت ارائه گردیده است :

sMgr = (SensorManager)this.getSystemService(SENSOR_SERVICE);
List list = sMgr.getSensorList(Sensor.TYPE_ALL);
for(Sensor sensor: list){
}
ضمن این سیاق ها، سیاق های دیگری بوسیله کلاس SensorManager، برای سازماندهی فریمورک حسگر ها ارائه گردیده‌است. این روال ها در جدول ذیل ارائه گردیده‌است :

(getDefaultSensor(int type : این مشی یک حسگر پیش فرض را برای یک نوع ارائه گردیده ، می‌گیرد.

(getOrientation(float[ ] R, float[ ] values : این مشی توضیحی از ویدیو اساسی حاضر روی ویدئو بورد گزارش می‌دهد، ولی نسخه برداری از داده ی آن ارائه نمیشود.

برچسب ها طراحی اپلیکیشن ,
بازدید : 130
سه شنبه 17 آبان 1401 زمان : 11:14

ابزارهای اکثری می‌توانند برای تستینگ نرم افزار های اندروید استعمال شوند.
درین نوشته‌ی علمی قصد داریم دو ابزار را برای آزمایش نرم افزار های اندروید توضیح دهیم :

JUnit
Monkey
JUnit :
شما می‌توانید از JUnit TestCase برای جاری ساختن تستینگ های واحد طراحی اپلیکیشن روی کلاسی که Android APIs را فرا نمی خواند، به کار گیری فرمائید.
TestCase نیز کلاس اساس برای AndroidTestCase میباشد که می‌توانید برای آزمایش آبجکت های متعلق ی اندروید رایاپارس از آن به کارگیری فرمائید. خلال ارائه ی کادر ورک JUnit، TestCase اندروید مورد ها دیگری همانند پیکربندی خاص اندروید، teardown و روال های کمکی نیز ارائه میدهد.

برای به کارگیری از TestCase، کلاس خویش را با کلاس TestCase بسط دهید و متدی را به اسم setUp() انجام فرمایید که سینتکس آن به صورت پایین میباشد :

public class MathTest extends TestCase {
protected double fValue1;
protected double fValue2;

protected void setUp() {
fValue1= 2.0;
fValue2= 3.0;
}
}

برای هر آزمایش ، متدی را جاری ساختن نمائید که با عضو اثبات به صورت متقابل فعالیت می نماید.

public void testAdd() {
double result= fValue1 + fValue2;
assertTrue(result == 5.0);
}

این مشی مقادیر آزمایش را با حاصل حقیقی وواقعی مقایسه می نماید و در حالتی که مقایسه ناموفق باشد، آن را رد می نماید.

وقتی که سیاق ها تعریف‌و‌تمجید شدند، می‌توانید آنان را ایفا نمائید.
سینتکس آن را میتوانید در ذیل مشاهده کنید :

TestCase test= new MathTest("testAdd");
test.run();
Monkey
monkey در UI یا این که Application یک ابزار command-line (امر خطی) است که جریان های pseudo-random (رندوم-کاذب) از فشردن کلید ها، لمس کردن ها و حرکات مرتبط با یک دستگاه را ارسال می نماید. شما میتوانید آن را با ابزار Android Debug Bridge (adb) ایفا فرمائید.

می‌توانید جریانی از event ها را با اجرای ابزار، هر توشه با به عبارتی تعداد تصادفی (یا این که رندوم) ، تکرار فرمایید.

خصوصیت های Monkey :

Monkey دارنده خصوصیت های متعددی میباشد، ولی کلیه ی آنان می‌توانند در‌این چهار مولفه خلاصه شوند.

1) آیتم های پیکره بندی (configuration) اساسی

2) محدودیت های عملیاتی

3) نوع حادثه ها و تکرار آنان

4) مورد های عیب یابی (Debugging)

کاربرد monkey
برای استعمال از monkey ، یک command prompt گشوده کرده و در مسیر ذیل پیش بروید.

android ->sdk ->platform-tools

وقتی که در مسیر می‌باشید، دستگاه خویش را به کامپیوتر متصل فرمائید و امر تحت را اعمال نمائید.

adb shell monkey -p your.package.name -v 500

این امر میتواند مشتمل بر پروسه پایین باشد.

adb - Android Debug Bridge ابزاری میباشد که برای اتصال و ارسال امر ها از دسک تاپ لب تاب یا این که کامپیوتر به دستگاه تلفن اندروید شما به کار گیری می‌گردد.

shell – shell یک اینترفیس روی دستگاه است که دستورها مارا به گویش اوامر سیستم ترجمه می نماید.

monkey – monkey ابزاری برای تستینگ میباشد.

V- v مخفف طرز verbose میباشد.

500 عدد تکرارها و یا این که تعداد اتفاق افتاد هایی میباشد که قرار میباشد برای تستینگ ارسال شوند.

این قضیه در تصویر هم نشانه داده گردیده‌است.

در فرمان بالا ، ابزار monkey را روی اپلیکیشن ی UI پیش فرض اندروید انجام نمائید. در حال حاضر در اینجا شغل های موردنیاز برای انجام روی نرم افزار خویش را مشاهده میکنید.

آغاز کد سمپل را جاری ساختن نمائید. بعد از انجام ، روند کاربرد monkey را دنبال فرمائید و فرمان تحت را مجددا آیتم دقت قرار دهید :

adb shell monkey -p com.example.test -v 500‎‎
همت این دستور در صورت تحت نیز آرم داده گردیده‌است. با نوشتن این امر، در واقع شما در هم اکنون ساخت و ساز 500 روی داد تصادفی برای تستینگ می باشید.

برچسب ها طراحی اپلیکیشن ,
بازدید : 32
دوشنبه 16 آبان 1401 زمان : 10:48

در‌این نوشته‌ی علمی ما یک view سفارشی گردیده ساخت می‌کنیم. همینطور می‌آموزیم طراحی اپلیکیشن که چطور می اقتدار روی view ها به واسطه ی canvas نگارگری کرد. view را به طور واکنشی (responsive) پیاده سازی می‌کنیم. برای view صفات xml جدیدی میسازیم و همینطور شرایط view را نگه می‌داریم تا با چرخش گوش به موقعیت اول گشوده نگردد.

سیستم دلیل Android دارنده چند کلاس View میباشد که نیازهای یک نرم افزار بی آلایش را پوشش می‌دهد. البته بعضی وقتها این view ها متناسب با نیازهای شما نیستند و شما به دلایلی مانند دلایل تحت نیاز به view های سفارشی گردیده پیدا می‌کنید.

پیاده سازی ابتکاری و یا این که کارتون
تعامل با استفاده کننده به شکلی گوناگون از موقعیت معمول
اکران اشکال متعدد اطلاعات
بعضی از seo ها در کارایی اپ
قابلیت و امکان به کارگیری دوباره از کدی که می نویسید

این فراگیری را با تشکیل داد view ی سفارشی گردیده ای استارت میکنیم که به صورت یک رخ ای احساساتی میباشد رایاپارس و به گرایش مخاطب به صورت ای خنده رو و یا این که ناراحت تبدیل می‌شود و از این روش میاموزیم که چه‌طور می قدرت صفات جدیدی برای کد xml یک view تعریف‌و‌تمجید کرد و چه گونه با امداد canvas روی view انواع و خطوط رسم کرد.

پیش نیازها: این یادگرفتن به طور کاملً در خصوص view های سفارشی گردیده‌است پس خواننده بایستی شناخت اول با نرم افزار نویسی اندروید، لهجه کاتلین، xml و اندروید استودیو داشته باشد. در حالتی که داده ها اول در این مورد ها ندارید آغاز از دیگر یادگرفتن های باطن وبسایت استعمال نمایید. برای پیگیری این یادگرفتن ، می بایست از Android Studio 3.0.1 یا این که فراتر و Kotlin 1.2.21 یا این که فراتر استعمال نمائید هرچند به احتمال زیاد ورژن روی رایانه شما جدیدتر از این ورژن میباشد و دراین باره مشکلی نخواهید داشت.

برچسب ها طراحی اپلیکیشن ,
بازدید : 34
يکشنبه 15 آبان 1401 زمان : 11:40

ساختن اپلیکیشن ها با Google Maps به شما قابلیت میدهد خصوصیت هایی مانند طراحی اپلیکیشن تصاویر ماهواره ای ، در دست گرفتن های سفارشی گردیده برای نقشه ها ، ردیابی جای و نشانگرهای جای را به اپ خویش اضافه نمائید. میتوانید با اکران اطلاعاتی از تیم داده های خویش مانند جای های ماهیگیری یا این که کوهنوردی شناخته گردیده ، به نقشه های گوگل داده ها اضافه فرمایید. شما همینطور می‌توانید بازی هایی بسازید که در آن بازیکن به جستجوی دنیای فیزیکی بپردازید ، رایاپارس مانند بازی های شکار ثروت یا این که حتی حقیقت افزوده.

در‌این نوشته‌ی‌علمی ، یک نرم‌افزار به اسم Wander (پرسه زدن) می‌سازیم که نقشه های سفارشی و حالت استفاده کننده را در نقشه آرم میدهد.

پیش نیازها

برای به کار گیری از این نوشته‌ی‌علمی بایستی علم کافی در موردها پایین داشته باشید:

طرز ساخت‌و‌ساز یک نرم‌افزار ساده Android و اجرای آن با به کارگیری از Android Studio.
طرز تولید و رئیس منابع در پروژه ، مانند String ها.
روش تغییر‌و تحول کد و تغییر‌و تحول اسم متغیرها با به کار گیری از Android Studio.
طریق به کار گیری از نقشه گوگل تحت عنوان مخاطب.
طرز درخواست مجوزهای مورد نیاز در طول ایفا.
شناخت مقدماتی با گویش کاتلین

مواقعی که درین نوشته ی علمی می‌آموزید

چه گونه می اقتدار یک کلید API از Google API Console اخذ کرد و چه‌طور کلید اپ را تصویب کرد
شیوه مخلوط نقشه گوگل در نرم‌افزار خویش
طرز اکران اشکال نقشه های متعدد
طریق تغییر تحول استایل نقشه گوگل
نحوه افزودن آرم گذاری ها به نقشه
طریق اذن دادن به استفاده کننده برای قرار دادن نشانگر در یک نقطه گزینه عشق (POI یا این که Point Of Interest)
طریق فعال کردن ردیابی جای
شیوه تولید اپ Wander ، که دارنده نقشه گوگل به طور داخلی میباشد
روش تولید خصوصیت های سفارشی برای نرم‌افزار خویش ، مانند نشانگرها و یک ظواهر سفارشی گردیده
کیفیت به کار گیری از ردیابی جای در نرم افزار خویش

برچسب ها طراحی اپلیکیشن ,
بازدید : 33
شنبه 14 آبان 1401 زمان : 15:54

در‌این یادگرفتن ، ما LiveData از تیم architectural component طراحی اپلیکیشن در نرم افزار اندروید را تحقیق میکنیم. برای ادراک عالی این فراگیری می بایست با ViewModel شناخت کافی داشته باشید.

LiveData در اندروید
LiveData بخشی از الگوهای مستعمل در گروه architecture اندروید میباشد. LiveData در واقع یک نگاه دارای داده میباشد رایاپارس که مشمول اشکال ابتدایی یا این که گونه های دسته ای و بغرنج خیس داده است. LiveData برای مشاهده تغییرات در View و به روزرسانی View در حین فعال بودن آن استعمال می گردد. براین اساس ، LiveData از چرخه معاش View مطلع میباشد.

ما میدانیم که از ViewModels برای جابجایی اطلاعات به View به کار گیری میگردد. به کارگیری از ViewModels به تنهایی می‌تواند کاری مشقت بار و پرهزینه باشد چون هر توشه که اطلاعات تغییر تحول می نمایند و بدون چاره به تغییر تحول View هستیم ، بایستی چند فراخوانی اسلوب برای آپدیت رسانی View ایفا دهیم. به علاوه ما بایستی سبک داده را در جای های متعدد ذخیره کنیم.

LiveData بر پایه ی الگوی Observer ایجاد شده است و رابطه میان ViewModel و View را سهل وآسان می نماید.

LiveData تغییرات اطلاعات را مشاهده می نماید و اطلاعات را به صورت خود کار آپ تو دیت می نماید عوض اینکه ما بدون چاره شویم یکسری فراخوانی روال را برای اضافه و حذف منابع داده از تعدادی جای اجرا دهیم (از جمله SQLite ، ArrayList ، ViewModel).

مقایسه LiveData با RxJava
LiveData ی اندروید تا حدودی مشابه RxJava میباشد با این تفاوت که LiveData از چرخه معاش (lifecycle) در View های اندروید مطلع میباشد.

درصورتی که View در دور‌نما باشد ، LiveData داده های شما‌را در View آپ تو دیت نمی نماید. این به ما یاری می نماید تا از استثناهایی مانند IllegalStateException و غیره خودداری کنیم. این عمل سبب کاهش مصرف منابع سیستمی برای مثالً کاهش مصرف cpu و حافظه موقت و باتری و غیره نیز میگردد.

LiveData در ViewModel به چه شکل اکتیویتی را آپدیت می نماید؟

هنگامی Observer را در Activity خویش تصویب میکنیم ، می بایست مشی onChanged را Override کنیم. هر مجال LiveData عوض میشود ، روال onChanged فراخوانی میشود. براین اساس در onChanged ، قادر خواهیم بود تغییرات LiveData را به View ایفا کنیم.

LiveData صرفا یک نوع داده میباشد که هر فرصت داده عوض میشود ، آن را به Observer اگاهی می‌دهد. LiveData مانند اعلان کننده تغییرات داده میباشد.

برچسب ها طراحی اپلیکیشن ,

تعداد صفحات : 90

درباره ما
موضوعات
آمار سایت
  • کل مطالب : 905
  • کل نظرات : 0
  • افراد آنلاین :
  • تعداد اعضا : 0
  • بازدید امروز :
  • بازدید کننده امروز : 0
  • باردید دیروز :
  • بازدید کننده دیروز : 0
  • گوگل امروز :
  • گوگل دیروز :
  • بازدید هفته :
  • بازدید ماه :
  • بازدید سال :
  • بازدید کلی :
  • <
    پیوندهای روزانه
    اطلاعات کاربری
    نام کاربری :
    رمز عبور :
  • فراموشی رمز عبور؟
  • خبر نامه


    معرفی وبلاگ به یک دوست


    ایمیل شما :

    ایمیل دوست شما :



    لینک های ویژه