Android Best Practices Tutorial

Det er noen øvelser som du kan følge mens utvikle android søknad. Disse er foreslått av android seg selv og de holder på å forbedre i forhold til tid.

Disse beste praksis inkluderer interaksjonsdesignfunksjoner, ytelse, sikkerhet og personvern, kompatibilitet, testing, distribusjon og tjene penger tips. De er smalere nede og er oppført som under

Best Practices -. Bruker innspill

Hver tekstfeltet er ment for en annen jobb. For eksempel har noen tekstfelt er for tekst og noen er for tall. Hvis det er for tallene så er det bedre å vise det numeriske tastaturet når som tekstfeltet er fokusert. Syntaksen er
< EditText android. Layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /EditText" android: layout_alignParentRight = "true" android: layout_alignParentEnd = "true" android : hint = "Brukernavn" android: layout_below = "+ id /bildeVis" android: layout_alignLeft = "+ id /bildeVis" android: layout_alignStart = "+ id /bildeVis" android: numerisk = "heltall" />

Andre så at hvis feltet er for passord, så det må vise et passord hint, slik at brukeren lett kan huske passordet. Det kan oppnås som
< EditText android. Layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /editText2" android: layout_alignLeft = "+ id /EditText" android: layout_alignStart = "+ id /EditText" android: hint = "Pass Word" android: layout_below = "+ id /EditText" android: layout_alignRight = "+ id /EditText" android: layout_alignEnd = "+ id /EditText" android: passord = "true" />
Best Practices - bakgrunnsjobber

Det er visse jobber i et program som kjører i et program bakgrunn. Deres jobb kan være å hente noen ting fra internett, spille musikk osv Det anbefales at de lenge venter oppgaver som ikke bør gjøres i UI tråden og heller i bakgrunnen av tjenester eller AsyncTask.

AsyncTask Vs Services.

Begge brukes for å gjøre bakgrunnsoppgaver, men tjenesten er ikke berørt av de fleste brukergrensesnitt levetids hendelser, slik at det fortsetter å kjøre i omstendigheter som ville stenge ned en AsyncTask

Best Practices -. Ytelse

Din søknad ytelse bør være opp -to mark. Men det bør utføre annerledes ikke på fronten, men på baksiden slutten når det enheten er koblet til en strømkilde eller lading. Lading kan være av fra USB og fra leder kabel.

Når enheten lades selv, det anbefales å oppdatere programinnstillingene om noen, som for eksempel maksimere oppdateringsfrekvensen når enheten er koblet til. Det kan gjøres som dette
IntentFilter IFilter = new IntentFilter (Intent.ACTION_BATTERY_CHANGED);. Intent batteryStatus = context.registerReceiver (null, IFilter); //Skal vi lader /belastet? Full eller charging.int status = batteryStatus.getIntExtra (BatteryManager.EXTRA_STATUS, -1); //Hvordan skal vi lade? Fra AC eller USB.int chargePlug = batteryStatus.getIntExtra (BatteryManager.EXTRA_PLUGGED, -1);
Best Practices - Sikkerhet og personvern

Det er svært viktig at søknaden skal være sikkert og ikke bare programmet , men brukeren data og applikasjonsdata bør også sikres. Sikkerheten kan økes ved følgende faktorer.

  • Bruk intern lagringsplass heller da ekstern for lagring av programmer filer

    Bruk innholdsleverandører der det er mulig


    bruker SSL ved tilkobling til nettet

    Bruk riktige tillatelsene for å få tilgang til ulike funksjoner på enheten

    Eksempel

    Eksempelet nedenfor viser noen av de beste praksis du bør følge når du utvikler android søknad. Det kasser en enkel applikasjon som lar deg spesifisere hvordan du bruker tekstfelt og hvordan du kan øke ytelsen ved å sjekke ladestatus på telefonen.

    For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet .
    StepsDescription1You vil bruke Android studio IDE å lage en Android-applikasjon under en pakke com.example.sairamkrishna.myapplication;. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge til code3Modify layout XML fil res /layout /activity_main.xml legge noen GUI komponent dersom required.4Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene.

    Her er innholdet i src /MainActivity.java
    emballasjen. example.sairamkrishna.myapplication, import android.bluetooth.BluetoothAdapter, import android.bluetooth.BluetoothDevice, importere android.content.DialogInterface, importere android.content.Intent, importere android.content.IntentFilter, importere android.os.BatteryManager, importere android .support.v7.app.ActionBarActivity, import android.os.Bundle, import android.view.Menu, import android.view.MenuItem, import android.view.View, import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText, import android.widget.ListView, import android.widget.TextView, import android.widget.Toast, import java.util.ArrayList, import java.util.Set; public class MainActivity strekker ActionBarActivity {EditText ed1, ED2; Button b1; Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); ed1 = (EditText) findViewById (R.id.editText); ED2 = (EditText) findViewById (R.id.editText2); b1 = (Button) findViewById (R.id.button); b1.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {IntentFilter IFilter = new IntentFilter (Intent.ACTION_BATTERY_CHANGED); Intent batteryStatus = registerReceiver (null, IFilter); int status = batteryStatus.getIntExtra (BatteryManager .EXTRA_STATUS, -1); boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL; int chargePlug = batteryStatus.getIntExtra (BatteryManager.EXTRA_PLUGGED, -1); boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB; boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC; if (usbCharge) {Toast.makeText (getApplicationContext (), "Mobile lades på USB", Toast.LENGTH_LONG) .vis ();} else {Toast.makeText (getApplicationContext () "Mobile lades på AC", Toast.LENGTH_LONG) .vis (); }}}); }Override Beskyttet void onDestroy () {super.onDestroy (); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

    Her er innholdet i activity_main.xml
    < RelativeLayout xmlns: Android = "http://schemas.android.com/apk/res/android~~number=plural" xmlns: verktøy = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingLeft = "@ dimen /activity_horizontal_margin" android: paddingRight = "@ dimen /activity_horizontal_margin" android: paddingTop = "@ dimen /activity_vertical_margin" android: paddingBottom = "@ dimen /activity_vertical_margin" verktøy: kontekst = ". MainActivity" > < TextView android: text = "Bluetooth Eksempel" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /textview" android: Tekststørrelse = "35dp" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorials point" android: id = "+ id /textView" android: layout_below = "+ id /textview" android: layout_centerHorizontal = "true" android: textcolor = "# ff7aff24" android: Tekststørrelse = "35dp" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /abc" android: layout_below = "+ id /textView" android : layout_centerHorizontal = "true" /> < EditText android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /EditText" android: layout_alignParentRight = "true" android: layout_alignParentEnd = "true" android: hint = "Brukernavn" android: layout_below = "+ id /bildeVis" android: layout_alignLeft = "+ id /bildeVis" android: layout_alignStart = "+ id /bildeVis" android: numerisk = "heltall" /> < EditText android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /editText2" android: layout_alignLeft = "+ id /EditText" android: layout_alignStart = "+ id /EditText" android: hint = "Pass Word" android: layout_below = "+ id /EditText" android: layout_alignRight = "+ id /EditText" android: layout_alignEnd = "+ id /EditText" android: passord = "true" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Check" android: id = "+ id /knapp" android: layout_below = "+ id /editText2" android: layout_centerHorizontal = "true" /> < /RelativeLayout >

    Her er innholdet i strings.xml
    < resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

    Her er innholdet i AndroidManifest.xml
    <? xml version = "1.0" encoding = "utf-8" > < manifest xmlns:? android = "http://schemas.android.com/apk/res/android" pakken = "com.example.bestpractices" android: version = "1" android : versjon = "1.0" > < søknad android: allowBackup = "true" android: icon = "@ teikne /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: name = "com.example.bestpractices.MainActivity" android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

    La oss prøve å kjøre programmet. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Android Studio vil vise følgende bilder.

    Over bildet viser en produksjon på søknad

    Nå skriver du bare på brukernavnet feltet, og du vil se den innebygde android forslag fra ordlisten vil begynne å komme opp. Dette er vist ovenfor.

    Nå vil du se passordfeltet. Det ville forsvinne så snart du begynner å skrive i feltet. Det er vist ovenfor.

    Til slutt, bare koble enheten til strømkabelen eller USB-kabelen og trykker på lading sjekk knappen. I mitt tilfelle, jeg kobler strømnettet, viser den følgende meldingen. Anmeldelser