首页 > 系统 > Android > 正文

Android笔记—2017-2-6

2019-11-09 17:22:52
字体:
来源:转载
供稿:网友

1. R文件不可手动修改

2. 线程销毁 onDestroy()

3.

Uri的使用场景:1,调web浏览器  Uri myBlogUri = Uri.parse(" http://xxxxx.com ");  returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);  2,地图  Uri mapUri = Uri.parse("geo:38.899533,-77.036476");  returnIt = new Intent(Intent.ACTION_VIEW, mapUri);  3,调拨打电话界面  Uri telUri = Uri.parse("tel:100861");  returnIt = new Intent(Intent.ACTION_DIAL, telUri);  4,直接拨打电话  Uri callUri = Uri.parse("tel:100861");  returnIt = new Intent(Intent.ACTION_CALL, callUri);  5,卸载  Uri uninstallUri = Uri.fromParts("package", "xxx", null);  returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);  6,安装  Uri installUri = Uri.fromParts("package", "xxx", null);  returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);  7,播放  Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");  returnIt = new Intent(Intent.ACTION_VIEW, playUri);  8,调用发邮件  Uri emailUri = Uri.parse("mailto:xxxx@Gmail.com");  returnIt = new Intent(Intent.ACTION_SENDTO, emailUri);  9,发邮件  returnIt = new Intent(Intent.ACTION_SEND);  String[] tos = { "xxxx@gmail.com" };  String[] ccs = { "xxxx@gmail.com" };  returnIt.putExtra(Intent.EXTRA_EMAIL, tos);  returnIt.putExtra(Intent.EXTRA_CC, ccs);  returnIt.putExtra(Intent.EXTRA_TEXT, "body");  returnIt.putExtra(Intent.EXTRA_SUBJECT, "subject");  returnIt.setType("message/rfc882");  Intent.createChooser(returnIt, "Choose Email Client");  10,发短信  Uri smsUri = Uri.parse("tel:100861");  returnIt = new Intent(Intent.ACTION_VIEW, smsUri);  returnIt.putExtra("sms_body", "yyyy");  returnIt.setType("vnd.android-dir/mms-sms");  11,直接发邮件  Uri smsToUri = Uri.parse("smsto://100861");  returnIt = new Intent(Intent.ACTION_SENDTO, smsToUri);  returnIt.putExtra("sms_body", "yyyy");  12,发彩信  Uri mmsUri = Uri.parse("content://media/external/images/media/23");  returnIt = new Intent(Intent.ACTION_SEND);  returnIt.putExtra("sms_body", "yyyy");  returnIt.putExtra(Intent.EXTRA_STREAM, mmsUri);  returnIt.setType("image/png");4.关于图片视图的设置,正确的是?
所有选项均正确
scaleType:设置图片的填充方式
adjustViewBounds:调整边框时是否保持可绘制对象的宽高比
用src来设置要展示的图片
主要在布局文件里配置5.6.如果在Activity中对一些资源以及状态进行保存操作,最好是在生命周期的哪个函数中进行呢? 
onPause()Called when the system is about to start resuming a PRevious activity. This is typically used to commit unsaved changes to persistent data, stop animations and other things that may be consuming CPU, etc. Implementations of this method must be very quick because the next activity will not be resumed until this method returns.

Followed by either onResume() if the activity returns back to the front, oronStop() if it becomes invisible to the user.

7.RadioButton和CheckBox的区别:

1、单个RadioButton在选中后,通过点击无法变为未选中

    单个CheckBox在选中后,通过点击可以变为未选中

2、一组RadioButton,只能同时选中一个

     一组CheckBox,能同时选中多个

3、RadioButton在大部分UI框架中默认都以圆形表示

     CheckBox在大部分UI框架中默认都以矩形表示

RadioButton和RadioGroup的关系:

1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

2、每个RadioGroup中的RadioButton同时只能有一个被选中

3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中

4、大部分场合下,一个RadioGroup中至少有2个RadioButton

5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置

8.
12345678910111213141516171819202122232425262728publicclassMainActivity extendsActivity implementsOnClickListener{   privateButton mBtnLogin = (Button) findViewById(R.id.btn_login);   privateTextView mTextViewUser;     @Override   protectedvoid onCreate(BundlesavedInstanceState)   {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mTextViewUser = (TextView) findViewById(R.id.textview_user);        mBtnLogin.setOnClickListener(this);        newThread()        {            @Override            publicvoid run()            {                mTextViewUser.setText(10);            }        }.start();   }     @Override   publicvoid onClick(View v)   {        mTextViewUser.setText(20);   }}
1、首先会报错NullPointerException,就是privateButton mBtnLogin = (Button) findViewById(R.id.btn_login);这个位置,要先加载了layout后才能成功获取到相应的按钮组件对象;2、修改NullPointerException错误后再运行,报错 Resources$NotFoundException,在mTextViewUser.setText(10);这个位置(原本以为会先检查onclick方法里的setText(),但实际是run()里的setText()),要改成字符串形式;3、修改上面的错误后再运行,报错Resources$NotFoundException,这次就轮到mTextViewUser.setText(20);这个位置了;4、修改上面的错误后再运行,没有报错,程序成功运行,点击按钮后TextView由10变为20,说好的不能在非UI线程里更新UI组件呢?翻看别人的博客后,终于找到答案了,其实非UI线程是可以刷新UI的,前提是它要拥有自己的ViewRoot,ViewRoot是在onResume()里addview()创建的,所以是在 onResume()检查是否为UI线程,一般在onCreate()中通过子线程可以更新UI,但官方不建议这样做,因为 Android UI操作并不是线程安全的。PS:而且,可以试下在上面代码的run()中setText()前加一句Thread.sleep(2000),先让线程休眠个2到3秒,就会报错ViewRootImpl$CalledFromWrongThreadException,说明已经检查到在非UI线程里更新UI。9.广播接收器可以在Activity中单独注册与注销10.关于ServiceConnection接口的onServiceConnected()方法的触发条件描述正确的是?

正确答案: B   你的答案: C (错误)

bindService()方法执行成功后
bindService()方法执行成功同时onBind()方法返回非空IBinder对象
Service的onCreate()方法和onBind()方法执行成功后
Service的onCreate()和onStartCommand()方法启动成功后

bindService是异步调用和Service进行绑定, 如果绑定成功, 则会调用ServiceConnection的onServiceConnected

当调用bindService方法后就会回调Activity的onServiceConnected,在这个方法中会向Activity中传递一个IBinder的实例,Acitity需要保存这个实例

11.

在 android 中使用 SQLiteOpenHelper 这个辅助类时,哪些操作可能生成一个数据库

正确答案: A B   你的答案: A B C (错误)

getWriteableDatabase()
getReadableDatabase()
getDatabase()
getAbleDatabase()

12.

Android系统对下列哪些对象提供了资源池

正确答案: A C   你的答案: A B C (错误)

Message
Thread
AsyncTask
Looper				

Android系统对下列哪些对象提供了资源池

正确答案: A C   你的答案: A B C (错误)

Message
Thread
AsyncTask
Looper首先我们确定有资源池的对象,Message有MessageQuere,Thread有ThreadPool,AsyncTask也有android定义的ThreadPool。Looper不管是jdk带的,还是android定义的都没有资源池。那么在看一下题目,“Android”系统提供的。那么就排除上面jdk自带的Thread,所以答案是AC算是比较合理的选择。13.Android系统对下列哪些对象提供了资源池

正确答案: A C   你的答案: A B C (错误)

Message
Thread
AsyncTask
Looper

ANR,程序没有响应,有可能程序会再次响应

例子:

	应用运行时,Main线程进行了耗时操作
	应用运行时,用户操作过于频繁

Force close:程序抛出异常,会强制退出

例子:

	应用运行时抛出了OutOfMemoryError,
	应用运行时抛出了RuntimeException

14. Android系统对下列哪些对象提供了资源池

正确答案: A C   你的答案: A B C (错误)

Message
Thread
AsyncTask
Looper在android中使用Menu时可能需要重写的方法有?

正确答案: A C   你的答案: A B (错误)

onCreateOptionsMenu()
onCreateMenu()
onOptionsItemSelected()
onItemSelected()

Android系统对下列哪些对象提供了资源池

正确答案: A C   你的答案: A B C (错误)

Message
Thread
AsyncTask
Looper
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表