Android開發工程師文集-提示框,菜單,資料存放區,組件篇

來源:互聯網
上載者:User

標籤:database   context   board   ons   .com   getmenu   alert   button   case   

提示框,菜單,資料存放區,組件篇Toast

Toast.makeText(context, text, 時間).show();

setDuration();//設定時間
setGravity();//位置

擷取:

添加toast.getView();
imageView添加到toast中,addView();

LayoutInflater inflater = LayoutInflater.from(this);View toast_view=inflater.inflate(R.id.,null);Toast.Toast.setView(toast_view);
AlertDialog

AlertDialog.Builder

setTitle();setIcon();setView();setItems();setMultiChoiceItems(); 複選setSingleChoiceItems(); 單選setNeutralButton();setPositiveButton();setNegativeButton();
AlertDialog dialog = builder.create(); .show();消失dialog.dismiss();

Notification通知欄,如接收簡訊

屬性Notification setTicker();//手機狀態列的提示setWhen();//設定時間setContentTitle();setContentText();setContentIntent();Notification notification = builder.build();
OptionsMenu
onCreateOptionsMenu();動態:menu.add();監聽:onOptionsItemSelected();
public boolean onCreateOptionsMenu(Menu menu){    getMenuInflater().inflate(R.menu.main,menu);    return true;}

監聽:onOptionsItemSelected

public boolean onOptionsItemSelected(MenuItem item){    switch(item.getItemId()){        case R.id..:        ...    }}
ContextMenu操作功能表
public boolean onCreateItemSelected(MenuItem item){}public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){    super.onCreateContextMenu(menu, v, menuIfo);}
SubMenu 子功能表
protected void onCreate(Bundle savedInstanceState){    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);}public boolean onCreateOptionsMenu(Menu menu){    getMenuInflater().inflate(R.menu.main, menu);    return true;    //return super.onOptionsItemSelected(item);}

xml

<menu ...> <item  android:showAsAction="never"  android:title="檔案">  <menu>   <item    android:id="@+id/.."    android:showAsAction="never"    android:title="開啟"/></menu>
MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.main, menu);
資料存放區方式

四種:

  1. SharedPreferences
  2. SQLite
  3. Content Provider
  4. File

SharedPreferences是一種比較輕型的資料存放區,基於xml的索引值對儲存,儲存一些簡單的資訊。

SharedPreferences只能擷取資料不能儲存和修改,但能通過Editor實現儲存修改。

步驟:

  1. 擷取SharedPreferences對象
  2. SharedPreferences.Editor
  3. Editor的putXXX的方法
  4. Editor.commit()
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
SharedPreferences sharedPreferences = getSharedPreferences("sharedPreferences", MODE_PRIVATE);Editor editor = sharedPreferences.edit();editor.putXXX();editor.commit();

使用者名稱和密碼的儲存

sharedPreferences = getSharedPreferences("UserInfo", MODE_PRIVATE);Editor editor = sharedPreferences.editor();
登入String name = etName.getText().toString().trim();String pass = etPass.getText().toString().trim();

SQLite的形式,以單個檔案的儲存,儲存2T記憶體,以B-Tree形式。

SQLite的資料類型,null,integer,real,text,blob。

  1. SQLiteDatabase
  2. SQLiteOpenHelper
SQLiteDatabase db = openOrCreateDatabase("table.db", MODE_PRIVATE, null);

SQLiteOpenHelper

DBOpenHelper helper = new DBOpenHelper(MainActivity.this, "user.db");SQLiteDatabase db = helper.getWritableDatabase();Cursor c = db.rawQuery("select * from user", null);
public DBOpenHelper(Context context, String name, CursorFactory factory, int version){    super(context, name, factory, version);}public void onCreate(SQLiteDatabase db){}public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){}
File file = this.getFilesDir();File file = this.getCacheDir();//重要檔案就不要放在這裡

MODE_PRIVATE

預設操作

MODE_APPEND

檔案是否存在

public void WriteFiles(String content){    try{        FileOutputStream fileOutputStream = openFileOutput("super.txt", MODE_PRIVATE);        fileOutputStream.write(content.getBytes());        fileOutputStream.close();    }catch(){    }catch(){    }}

ContentProvider

<provider android:name="" android:authorities=""/>
public class MyContentProvider extends ContentProvider{    public int delete(Uri uri,String selection, String[] selectionArgs){    }}

Uri 通用資源標誌符

Broadcast廣播

BroadcastReceiver 廣播接收器

使用:需要Intent對象,sendBroadcast(),sendOrderBroadcast(),sendStickyBroadcast()。

Service

註冊:

<service android:name=""/>
public void onClick(View v){    switch(v.getId()){        case R.id.:        Intent intent = new Intent(MainActivity.this, MyService.class);        startService(intent);        break;    }}
public class MyService extends Service{    public void onCreate(){        super.onCreate();    }    public int onStartCommand(Intent intent,int flags,int startId){        return super.onStartCommand(intent,flags,startId);    }    public void onDestroy(){        super.onDestroy();    }    public IBinder onBind(Intent intent){        return null;    }}

Bind

public void onCreate(){}public IBinder onBind(Intent intent){}public void unbindService(ServiceConnection conn){}
ServiceConnection conn = new ServiceConnection(){    public void onServiceDisconnected(ComponentName name){    }    public void onServiceConnected(ComponentName name, IBinder binder){    }}

系統服務

MountService,ClipboardService,getSystemService().

public Object getSystemService(String name){}

POWER_SERVICE,PowerManger電源服務
ALARM_SERVICE,AlarmManager鬧鐘服務

LayoutInflater inflater = MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);View view = inflater.inflate(R.layout. , null);setContentView(view);

getSystemService

GestureDetector

MotionEvent,GestureDetector,onGestureListener.

GestureOverlayView

Android:eventsInterceptionEnabledAndroid:fadeDurationAndroid:fadeEnabledAndroid:gestureColor
<android.gesture.GestureOverlayView  android:id="" android:layout_width="" android:layout_height=""> <ImageView  android:id=""  android:layout_width=""  android:layout_height=""</android.gesture.GestureOverlayView>  

定位:分享 Android&Java 知識點
完結!

Android開發工程師文集-提示框,菜單,資料存放區,組件篇

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.