Android开发工程师文集-提示框,菜单,数据存储,组件篇
提示框,菜单,数据存储,组件篇
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);
数据存储方式
四种:
- SharedPreferences
- SQLite
- Content Provider
- File
SharedPreferences是一种比较轻型的数据存储,基于xml的键值对存储,存储一些简单的信息。
SharedPreferences只能获取数据不能存储和修改,但能通过Editor实现存储修改。
步骤:
- 获取SharedPreferences对象
- SharedPreferences.Editor
- Editor的putXXX的方法
- 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。
- SQLiteDatabase
- 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:eventsInterceptionEnabled
Android:fadeDuration
Android:fadeEnabled
Android: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开发工程师文集-提示框,菜单,数据存储,组件篇的更多相关文章
- Android开发工程师文集-1 小时学会Widget小组件开发
前言 大家好,给大家带来Android开发工程师文集-1 小时学会Widget小组件开发的概述,希望你们喜欢 学会用Widget (小组件) Widget小组件很方便,很快捷,可以个性化,自己定制,相 ...
- Android开发工程师文集-相关控件的讲解,五大布局
前言 大家好,给大家带来Android开发工程师文集-相关控件的讲解,五大布局的概述,希望你们喜欢 TextView控件 TextView控件有哪些属性: android:id->控件的id a ...
- Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式
Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...
- Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解
前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...
- Android开发工程师文集-1 小时学会SQLite
前言 大家好,给大家带来Android开发工程师文集-1 小时学会SQLite的概述,希望你们喜欢 内容 什么是Sqlite: 效率高,开源,小型,程序驱动,支持事务操作,无数据类型,可嵌入的关系型数 ...
- Android开发工程师文集-layout_weight讲解
前言 大家好,给大家带来Android开发工程师文集-layout_weight讲解的概述,希望你们喜欢 Layout_weight的相关代码展示 <TextView android:layou ...
- Android开发工程师文集-Android知识点讲解
前言 大家好,给大家带来Android开发工程师文集-Android知识点讲解的概述,希望你们喜欢 WebView讲解 一般通过Intent调用系统的浏览器: Uri uri = Uri.parse( ...
- Android开发工程师文集-1 小时学会各种Drawable
前言 大家好,给大家带来Android开发工程师文集-1 小时学会各种Drawable的概述,希望你们喜欢 Drawable介绍 Drawable为抽象类,drawable与view有区别的地方,主要 ...
- Android开发(二十四)——数据存储SharePreference、SQLite、File、ContentProvider
Android提供以下四种存储方式: SharePreference SQLite File ContentProvider Android系统中数据基本都是私有的,一般存放在“data/data/程 ...
随机推荐
- MySql:SELECT 语句(三) WHERE 指定查询条件
1.WHERE 子句条件操作符 包括:> .<.>=.<=.!= .=.BETWEEN ... AND ...(在指定的两个值之间) 示例: 1)select * from s ...
- 关于HashMap和HashTable.md
目录 先来些简单的问题 你用过HashMap吗?" "什么是HashMap?你为什么用到它?" "你知道HashMap的工作原理吗?" "你 ...
- install mysql from source and troubleshooting example
I tried to install MySQL 5.7 from source file and upgrading previous MySQL version to the lastest 5. ...
- week07 13.3 NewsPipeline之 三News Deduper之 tf_idf 查重
我们运行看结果 安装包sklearn 安装numpy 安装scipy 终于可以啦 我们把安装的包都写在文件里面吧 4行4列 轴对称 只需要看一半就可以 横着看 竖着看都行 数值越接近1 表示越相似 我 ...
- dto vo
不过符合规矩的做法是DTO里可以放各种List<VO>,而VO和entity就是一一对应的关系,vo里不能放entity,entity里也不能放vo,vo和entity只存放和数据库完全相 ...
- OpenStack 安装:基本环境准备
刚刚学完openstack,这几篇文章就算对过去课程的一个总结吧. 首先说说基本的结构:在一台Dell的workstation上面安装了VMware,在VMware上面安装两台CentOS,现在给每台 ...
- Python设计模式 - UML - 类图(Class Diagram)
简介 类图是面向对象分析和设计的核心,用来描述系统各个模块中类与类之间.接口与接口之间.类与接口之间的关系,以及每个类的属性.操作等特性,一般在详细设计过程中实施. 类图本身就是现实世界的抽象,是对系 ...
- 回忆Partition算法及利用Partition进行快排
一.Partiton算法 Partiton算法的主要内容就是随机选出一个数,将这个数作为中间数,将大于它的排在它右边,小于的排在左边(无序的). int partition (int arr[],in ...
- [leetcode]20. Valid Parentheses有效括号序列
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- java_18 Collection接口
1.Collection接口 Collection 层次结构 中的根接口.Collection 表示一组对象,这些对象也称为 collection 的元素.一些 collection 允许有重复的元素 ...