JavaAndroid开发部分API
JavaAndroid开发中的部分系统API
- 四大组件,都需要在清单文件中配置
- Activity: 用来提供一个能让用户操作并与之交互的界面
- onCreate(): 自动调用的方法, 在其中加载布局显示
- setContentView(int layoutId): 加载布局
- View findViewById(int id): 根据id找到对应的视图对象
- startActivity(Intent intent): 一般启动Activity
- startActivityForResult(int reqCode, Intent intent): 带回调启动Activity
- reqCode: 请求码
- onActivityResult(int reqCode, int resultCode, Intent data): 回调方法(使用startActivityForResult方法启动的Activity关闭时自动调用),需重写
- reqCode: 请求码
- resultCode: 返回码
- setResult(int resultCode, Intent data): 当使用startActivityForResult方法启动的activity时,设置要返回的结果
- finish(): 结束当前Activity
- getIntent(): 得到启动Activity的意图
- startService(Intent): 开启服务
- bindService(...): 绑定服务,可以调用服务中的方法
- getContentResolver(): 获取的类可以使用uri对其他应用内容提供者进行操作
- uri的协议为content
- 路径:
- getFileDir(): 获取文件保存目录
- getCacheDir(): 获取缓存目录
- openFileOutput(String, int): 拿到File目录文件的输出流
- openFileInput(String, int): 拿到File目录文件的输入流
- runOnUiThread(Runnable): 可在子线程中调用,完成更新ui操作
- 生命周期方法: onCreate(),onStart(),onResume(),onPause(),onRestart(),onStop(),onDestory()
- BroadcastReceiver: 广播接收者,可监听手机的状态
- onReceive(Context, Intent): 当接收到事件时调用,监听的事件在清单文件中配置
- Intent.getAction(): 获取事件类型
- onReceive(Context, Intent): 当接收到事件时调用,监听的事件在清单文件中配置
- Service: 服务
- onBind(): 当绑定服务时调用,使用返回的对象可以调用服务中的对象
- onCreate(): 第一次创建服务时调用
- onStartCommand(..): 每次start服务时调用
- onDestroy(): 停止服务时调用
- ContentProvider:内容提供者,可以让其他应用访问自己的数据库
- UriMatcher:匹配uri的类
- new UriMatcher(UriMatcher.NO_MATCH): 创建
- UriMatcher.addURI(String authorities, String path, int): 添加匹配路径,在数据库操作方法中使用UriMatcher.match(uri)方法进行返回码判断路径
- authorities: 清单文件中的authorities属性
- path: 请求路径
- int: 请求码
- UriMatcher:匹配uri的类
- Activity: 用来提供一个能让用户操作并与之交互的界面
- R: 应用的资源类
- R.drawable: 包含所有图片资源标识的内部类
- R.layout: 包含所有布局资源标识的内部类
- R.id: 包含所有视图id标识的内部类
- R.string: 包含所有字符串标识的内部类
- Intent: Activity, Service和BroadcastReceiver这三个应用组件之间进行通信的信使
- Intent(Context context, Class clazz): 明确指定的目标组件的意图,当操作当前自己应用的组件时使用
- Intent(String action): 没有明确指定目标组件的意图,当操作其它应用的组件时使用
- action: 为Activity配置中的<intent-filter>标签中<action>标签的android:name属性
- Intent.ACTION_DIAL: 进入电话拨打界面的意图
- Intent.ACTION_SENDTO: 进入短信编辑界面的意图
- Intent.ACTION_CALL: 拨打电话的意图
- action: 为Activity配置中的<intent-filter>标签中<action>标签的android:name属性
- putExtra(String name, Xxx value): 保存额外数据
- Xxx getXxxExtra(String name): 获取额外数据
- setData(Uri data): 设置有特定格式的uri数据
- View: 所有视图的根基类
- setonClickListener(OnClickListener listener): 给视图设置点击监听
- setOnLongClickListener(OnLongListener listener): 设置长按监听
- void setVisibility(int visibility): 设置试图的可见性
- visibility:
- View.VISIBLE: 可见
- View.INVISIBLE: 不可见,但占用屏幕空间
- View.GONE: 不可见,也不占用屏幕空间
- visibility:
- static View inflate(Context context, int resource, ViewGroup root): 动态加载布局文件
- 动态加载布局文件的其他两种方法
- LayoutInflater.from(Context).inflate(int, ViewGroup);
- LayoutInflater inflater = getSystemService(LAYOUT_INFLATER_SERVICE); inflater.inflater(int, ViewGroup);
- 动态加载布局文件的其他两种方法
- Toast: 用来显示短时间提示文本的类
- static Toast makeText(Context context, CharSequence text, int duration) : 创建一个toast对象
- context: 可以传入Activity类
- text: 显示的文本
- duration: 持续的时间(LENGTH_SHORT或LENGTH_LONG)
- show(): 显示提示
- static Toast makeText(Context context, CharSequence text, int duration) : 创建一个toast对象
- AlertDialog: 显示在屏幕上的小对话框
- show(): 显示
- AlertDialog.Builder: AlertDialog内部类,用来创建AlertDialog
- create(): 创建AlertDialog对象
- show(): 创建alertDialog对象,同时将其显示出来
- setTitle(CharSequence): 设置标题
- setMessage(CharSequence): 设置内容
- setPositiveButton(String, OnClickListener): 设置正面按钮
- setNegativeButton(String, OnClickListener): 设置负面按钮
- dismiss(): 移除dialog
- setView(View): 设置dialog中的布局
- setSingleChoiceItems(CharSequence[], int, OnClickListener): 设置单选列表
- setMultiChoiceItems(...): 设置多选列表
- ProgressDialog: 进度框
- show(Context, CharSequence, CharSequence): 像是dialog
- setProgressStyle(int style): 设置样式
- style: 样式,默认圆形进度
- ProgressDialog.STYLE_HORIZONTAL: 水平进度条样式
- style: 样式,默认圆形进度
- dismiss(): 移除dialog
- SmsManager: 发送短信的工具类
- static SmsManager getDefault() : 得到当前对象
- sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent): 发送短信
- destinationAddress:电话号码
- scAddress:服务中心的地址,一般填null
- text:信息内容
- sentIntent
- deliveryIntent
- SharedPreferences: 用于保存数据的类
- Activity.getSharedPreferences(String, int): 拿到SharedPreferences
- Editor edit(): 拿到编辑器
- Editor:
- putXxx(...): 向编辑器中放数据
- Editor:
- getXxx(...): 取出数据
- commit(): 提交数据,保存数据
- OptionMenu: 底部菜单
- 在activity中重写onCreateOptionsMenu方法,即可定义底部菜单
- 向menu中添加menultem的方式
- 调用menu.add(...)方法
- 加载menu文件
- getMenulnflater().inflate(R.menu.main_option, menu);
- 重写onOptionsItemSelected方法,进行相应
- ContextMenu: 上下文菜单
- setOnCreateContextMenuListener(listener):为某个视图添加创建ContextMenu的监听(需要长按触发)
- onCreateContextMenu(menu, view, menuInfo):定义上下文菜单
- 向menu中添加menultem的方式,同上
- onContextItemSelected(MenuItem item)当选择某个菜单项的回调方法
- XmlSerializer: 写xml文件类,使用Xml类拿到
- setOutput(OutputStream, String): 指定输出流及编码
- startDocument(String, Boolean): 写xml文件的开头
- endDocument(): 写xml文件的结尾
- startTag(String, String): 写节点
- endTag(String, String): 结束节点
- text(String): 写标签体
- XmlPullParser: 读xml文件,使用Xml类拿到
- setInput(InputStream, String): 指定输入流及编码
- getEventType(): 拿到当前事件类型
- START_TAG;开始标签
- TEXT: 文本内容
- END_TAG: 结束标签
- END_DOCUMENT: 文件结尾
- next(): 向后移动,并返回移动后的事件类型
- getName(): 拿到当前的开始标签或结束标签的名字
- getAttributeValue(int): 拿到属性值
- nextText(): 当前为开始标签时,拿到标签体内容
- Xml:xml文件有关的工具类
- newSerializer(): 新建一个XmlSerializer类
- newPullParser(): 新建一个XmlPullParser类
- SQLiteOpenHelper:使用数据库使用的类,抽象类,需自己实现,数据库以db为后缀
- SQLiteOpenHelper(Context, String, CursorFactory, int): 构造器,参数(上下文对象,数据库名称,null,版本)
- onCreate(SQLiteDatabase): 需重写,当数据库创建时调用(创建表)
- onUpgrade(SQLiteDatabase, int, int):需重写,当数据库版本升级时调用
- getWritableDatabase(): 拿到SQLiteDatabase对象
- getReadableDatabase(): 拿到SQLiteDatabase对象,当磁盘满了,返回只读的
- SQLiteDatabase: 对数据库进行操作的类
- execSQL(String, [Object[]]): 执行sql语句,sql语句有占位符时使用obj数组
- rawQuery(String, String[]): 使用sql语句查询,返回Cursor结果集
- insert(String, String, ContentValues): 向数据库添加纪录(表名,null,map)
- delete(String, String, String[]): 删除数据(表名,条件,占位符)
- update(String, ContentValues, String, String[]): 更新数据(表名,map,条件,占位符)
- query(...): 查询数据库,返回Cursor对象
- close(): 关闭数据库
- beginTransaction(): 开启事务
- endTransaction(): 关闭事务
- setTransactionSuccessful(): 设置事务成功,即提交事务
- Cursor: 数据库查询的结果集
- getCount(): 返回结果数
- getColunCount(): 返回结果列数
- getColumnNames(): 返回列名的数组
- getXxx(int): 拿到当前行的对应列的值(0开始)
- moveToFirst(): 移动到第一个结果
- moveToLast(): 移动到最后一个
- moveToNext(): 移动到下一个
- close(): 关闭
- ArrayAdapter: ListAdapter子类,向ListView中添加项,只能添加一个组件
- SimpleAdapter: ListAdapter子类,向ListView中添加项,可以添加多个组件,耗内存
- SimpleAdapter(Context, List<Map<String, ?>>, int, String[], int[]): 参数(上下文对象,需要显示的数据List,布局文件标识,map的key的数组,布局文件中子View的id数组)
- BaseAdapter: ListAdapter子类,向ListView中添加项,
- 抽象类,需自己实现,ArrayAdapter和SimpleAdapter均是其实现类
- getCount(): 返回集合数据的数量
- getItem(int): 返回指定下标对应的数据对象
- getView(int, View, ViewGroup): 返回指定下标item的View对象
- HttpURLConnection: 使用Http协议发送和接收数据
- 使用URL类创建
- setConnectTimeout(int): 设置链接的超时时间
- setRequestMethod(String): 设置请求类型
- setRequestProperty(String, String): 设置请求头信息
- Post提交时需要设置"Content-Type"和Content-Length"头信息
- setDoOupput(boolean): 设置允许输出操作,在post请求时使用
- getOupputStream(): 拿到输出流,在post请求时写入请求体
- getResponseCode(): 获取响应码
- getInputStream(): 获取服务器响应信息的输入流
- HttpClient: 安卓提供的联网类
- 实现类: DefaultHttpClient...
- execute(HttpUriRequest): 执行url请求,返回HttpResponse对象
- HttpUriRequest
- 实现类: HttpGet, HttpPost...
- HttpResponse:
- getStatusLine().getStatusCode(): 获取响应码
- getEntity().getContent(): 获取相应流
- HttpUriRequest
- URL:
- URL(String): 使用指定路径创建URL对象
- openConnection(): 打开链接,得到URLConnection对象
- Handler: 可以执行更新ui操作的线程
- 在分线程中调用handler.sendMessage(Message),进行更新ui操作
- handleMessage(Message): 需重写,当sendMessage()调用时执行此方法
- postDelayed(Runnable, int): 在指定时间后执行操作
JavaAndroid开发部分API的更多相关文章
- ASP.NET Core Web API 开发-RESTful API实现
ASP.NET Core Web API 开发-RESTful API实现 REST 介绍: 符合REST设计风格的Web API称为RESTful API. 具象状态传输(英文:Representa ...
- flask开发restful api系列(8)-再谈项目结构
上一章,我们讲到,怎么用蓝图建造一个好的项目,今天我们继续深入.上一章中,我们所有的接口都写在view.py中,如果几十个,还稍微好管理一点,假如上百个,上千个,怎么找?所有接口堆在一起就显得杂乱无章 ...
- flask开发restful api
flask开发restful api 如果有几个原因可以让你爱上flask这个极其灵活的库,我想蓝图绝对应该算上一个,部署蓝图以后,你会发现整个程序结构非常清晰,模块之间相互不影响.蓝图对restfu ...
- 使用Jax-rs 开发RESTfull API 入门
使用Jax-rs 开发RESTfull API 入门 本文使用 Jersey 2开发RESTfull API.Jersey 2 是 JAX-RS 接口的参考实现 使用到的工具 Eclipse Neon ...
- Spring Boot入门(四):开发Web Api接口常用注解总结
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的 ...
- 基于VS Code创建Spring Boot项目开发REST API(一)
公司从.NET转向Java不仅仅是简单的代码变成Java,趁此机会对原有的架构和代码重构,融入新的概念和技术.目前通过前后端分离,将后端更多的微服务化.从.NET转向Java我们更多的是用Java开发 ...
- 描述怎样通过flask+redis+sqlalchemy等工具,开发restful api
flask开发restful api系列(8)-再谈项目结构 摘要: 进一步介绍flask的项目结构,使整个项目结构一目了然.阅读全文 posted @ 2016-06-06 13:54 月儿弯弯02 ...
- springmvc/springboot开发restful API
非rest的url写法: 查询 GET /user/query?name=tom 详情 GET /user/getinfo? 创建 POST /user/create?name=tom 修改 POST ...
- 使用egg.js开发后端API接口系统
什么是Egg.js Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本.详细的了解可以参考Egg.js的官网:https:// ...
随机推荐
- PMP学习总结(1) -- 引论
3月18日考试,1个月后出的成绩,当我拿到Pass的结果的时候还是蛮开心的,因为在备考期间,公司项目十分紧急,经常加班到晚上9,10点,而且宝贝女儿也在这个期间出生,所以备考是十分辛苦的,经常晚上11 ...
- VSCode插件开发全攻略(六)开发调试技巧
更多文章请戳VSCode插件开发全攻略系列目录导航. 前言 在介绍完一些比较简单的内容点之后,我觉得有必要先和大家介绍一些开发中遇到的一些细节问题以及技巧,特别是后面一章节将要介绍WebView的知识 ...
- [深入学习Web安全](11)之XSS玩法
[深入学习Web安全](11)之XSS玩法 本文转自:i春秋社区 前言这篇paper,我们将学习如何优雅的调戏XSS.我们会教大家一些不常用的,但很实用的XSS姿势.我们在正式进入主题之前,先来说一下 ...
- Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型
JS中处理字符串最常用的应该就是正则了 同样正则(RegExp)类型也是JS中引用类型的一种 ECMAScript通过 RegExp类型 来支持正则表达式 创建正则 var expression = ...
- 吴恩达机器学习笔记19-过拟合的问题(The Problem of Overfitting)
到现在为止,我们已经学习了几种不同的学习算法,包括线性回归和逻辑回归,它们能够有效地解决许多问题,但是当将它们应用到某些特定的机器学习应用时,会遇到过拟合(over-fitting)的问题,可能会导致 ...
- Aseprite入门:第一个gif动图
前言:Aseprite入门教程 1.新建图片: 选择新建文件,然后选定宽高和颜色及背景类型,点击OK进行图片的创建: 2.绘制一个基础图形,为了方便还是选用球形: 填充上颜色: 美化(添加阴影增加小球 ...
- audacity 做音频分析之--初相识
软件介绍: Audacity是一个跨平台的声音编辑软件,用于录音和编辑音频,是自由.开放源代码的软件.可在Mac OS X.Microsoft Windows.GNU/Linux和其它操作系统上运作. ...
- onload事件与ready事件的区别,原生js与jquery的区别
onload事件与ready事件分别是原生js与jquery的入口函数 原生js入口函数写法: window.onload=function(){ } jquery入口函数写法: $(document ...
- 如何在vue中使用ts
注意:此文并不是把vue改为全部替换为ts,而是可以在原来的项目中植入ts文件,目前只是实践阶段,向ts转化过程中的过渡. ts有什么用? 类型检查.直接编译到原生js.引入新的语法糖 为什么用ts? ...
- vmdk多文件合成单文件并导入
如果创建时,目录中有多个vmdk文件,可以将其合成一个,方便导到其他地方运行,如图所示 win下cmd命令,找到安装vmware目录,合并的命令如下 vmware-vdiskmanager.exe - ...