前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android开发工程师文集-提示框,菜单,数据存储,组件篇

Android开发工程师文集-提示框,菜单,数据存储,组件篇

作者头像
达达前端
发布2019-07-03 12:19:45
4730
发布2019-07-03 12:19:45
举报
文章被收录于专栏:达达前端达达前端

提示框,菜单,数据存储,组件篇

Toast

Toast.makeText(context, text, 时间).show();

setDuration();//设置时间 setGravity();//位置

获取:

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

代码语言:javascript
复制
LayoutInflater inflater = LayoutInflater.from(this);
View toast_view=inflater.inflate(R.id.,null);
Toast.
Toast.setView(toast_view);

AlertDialog

AlertDialog.Builder

代码语言:javascript
复制
setTitle();
setIcon();
setView();
setItems();

setMultiChoiceItems(); 复选
setSingleChoiceItems(); 单选
setNeutralButton();

setPositiveButton();
setNegativeButton();
代码语言:javascript
复制
AlertDialog dialog = builder.create(); .show();

消失
dialog.dismiss();

Notification通知栏,如接收短信

代码语言:javascript
复制
属性
Notification 
setTicker();//手机状态栏的提示
setWhen();//设置时间
setContentTitle();
setContentText();
setContentIntent();

Notification notification = builder.build();

OptionsMenu

代码语言:javascript
复制
onCreateOptionsMenu();
动态:menu.add();
监听:onOptionsItemSelected();
代码语言:javascript
复制
public boolean onCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.main,menu);
    return true;
}

监听:onOptionsItemSelected

代码语言:javascript
复制
public boolean onOptionsItemSelected(MenuItem item){
    switch(item.getItemId()){
        case R.id..:
        ...
    }
}

ContextMenu上下文菜单

代码语言:javascript
复制
public boolean onCreateItemSelected(MenuItem item){

}

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
    super.onCreateContextMenu(menu, v, menuIfo);
}

SubMenu 子菜单

代码语言:javascript
复制
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

代码语言:javascript
复制
<menu ...>
 <item
  android:showAsAction="never"
  android:title="文件">
  <menu>
   <item
    android:id="@+id/.."
    android:showAsAction="never"
    android:title="打开"/>
</menu>
代码语言:javascript
复制
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()
代码语言:javascript
复制
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
代码语言:javascript
复制
SharedPreferences sharedPreferences = getSharedPreferences("sharedPreferences", MODE_PRIVATE);
Editor editor = sharedPreferences.edit();
editor.putXXX();
editor.commit();

用户名和密码的存储

代码语言:javascript
复制
sharedPreferences = getSharedPreferences("UserInfo", MODE_PRIVATE);
Editor editor = sharedPreferences.editor();
代码语言:javascript
复制
登录
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
代码语言:javascript
复制
SQLiteDatabase db = openOrCreateDatabase("table.db", MODE_PRIVATE, null);

SQLiteOpenHelper

代码语言:javascript
复制
DBOpenHelper helper = new DBOpenHelper(MainActivity.this, "user.db");
SQLiteDatabase db = helper.getWritableDatabase();
Cursor c = db.rawQuery("select * from user", null);
代码语言:javascript
复制
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){

}
代码语言:javascript
复制
File file = this.getFilesDir();
File file = this.getCacheDir();//重要文件就不要放在这里

MODE_PRIVATE

默认操作

MODE_APPEND

文件是否存在

代码语言:javascript
复制
public void WriteFiles(String content){
    try{
        FileOutputStream fileOutputStream = openFileOutput("super.txt", MODE_PRIVATE);
        fileOutputStream.write(content.getBytes());
        fileOutputStream.close();
    }catch(){

    }catch(){

    }
}

ContentProvider

代码语言:javascript
复制
<provider
 android:name=""
 android:authorities=""/>
代码语言:javascript
复制
public class MyContentProvider extends ContentProvider{
    public int delete(Uri uri,String selection, String[] selectionArgs){

    }
}

Uri 通用资源标志符

Broadcast广播

BroadcastReceiver 广播接收器

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

Service

注册:

代码语言:javascript
复制
<service android:name=""/>
代码语言:javascript
复制
public void onClick(View v){
    switch(v.getId()){
        case R.id.:
        Intent intent = new Intent(MainActivity.this, MyService.class);
        startService(intent);
        break;
    }
}
代码语言:javascript
复制
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

代码语言:javascript
复制
public void onCreate(){

}
public IBinder onBind(Intent intent){

}
public void unbindService(ServiceConnection conn){

}
代码语言:javascript
复制
ServiceConnection conn = new ServiceConnection(){
    public void onServiceDisconnected(ComponentName name){

    }
    public void onServiceConnected(ComponentName name, IBinder binder){

    }
}

系统服务

MountService,ClipboardService,getSystemService().

代码语言:javascript
复制
public Object getSystemService(String name){

}

POWER_SERVICE,PowerManger电源服务 ALARM_SERVICE,AlarmManager闹钟服务

代码语言:javascript
复制
LayoutInflater inflater = MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout. , null);
setContentView(view);

getSystemService

GestureDetector

代码语言:javascript
复制
MotionEvent,GestureDetector,onGestureListener.

GestureOverlayView

代码语言:javascript
复制
Android:eventsInterceptionEnabled
Android:fadeDuration
Android:fadeEnabled
Android:gestureColor
代码语言:javascript
复制
<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 知识点 完结!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.05.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 提示框,菜单,数据存储,组件篇
  • Toast
  • AlertDialog
  • OptionsMenu
  • ContextMenu上下文菜单
  • SubMenu 子菜单
  • 数据存储方式
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档