- 24.57 KB
- 2022-07-28 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
简答:1.android中的布局管理器有哪些?线性布局管理器、绝对布局管理器、相对布局管理器、表格布局管理器、框架布局管理器。/3.Activity的生命周期,其中主要涉及到了onCreate()、onRestart()、onStart()、onResume()、onPause()、onStop()、onDestory()等七个方法。/4.android中不同应用程序间通过ContentProvider共享数据,ContentProvider提供的URL由一些四部分组成:标准的前缀URL的authority部分ContentProvider的路径部分被请求的特定记录的ID值5.在android中,提供了两种创建线程的方法,一种通过Thread类的构造方法创建线程对象,并重写run()方法实现。另一种是通过Runnable接口实现6.简述Android应用工程文件的结构?源文件(包含Activity)R.java文件AndroidLibrary.这个是应用运行的的Android库。Assets目录。主要放置多媒体等一些文件Res目录。放置应用到的源文件。drawable目录。放置应用到的图片文件Layout目录。放置应用到的布局文件Values目录。放置字符串(strings.xml)、颜色、数组。7.谈谈android数据存储方式android有5种存储方式存储数据(1)使用SharedPreferences存储数据;(2)文件存储数据;(3)SQLite数据库存储数据;(4)使用ContentProvider存储数据;(5)网络存储数据8.Adapter有什么用?常见的Adapter有哪些?Adapter是连接后端数据和前端显示的适配器接口。常见的Adapter有ArrayAdapter,BaseAdapter,SimpleAdapter等。/9.handler机制的原理。/android提供了Handler和Looper来满足线程之间的通信,Handler采用先进先出的原则向MessageQueue发送和处理消息。/Looper类用来管理特定线程对象之间的消息交换(MessageQueue)./10.请介绍下ContentProvider是如何实现数据共享的?Android提供了ContentProvider,一个程序可以实现一个ContentProvider的抽象接口将自己的数据完全暴露出去。/\n而且ContentProvider是以类似数据库中表的方式将数据暴露出来。ContentProvider存储和检索数据,通过它可以让所有的应用程序访问到这也是应用程序间唯一共享数据的方法,要想使应用程序的数据公开化。/可通过两种方法:1.创建一个属于自己的ContentProvider。/2.将你的数据添加到一个已经存在ContentProvider中去。/11.如何启用Service,如何停用Service(1)调用startService()方法启用服务,调用stopService()方法结束服务(2)调用bindService()方法启动服务,调用unbindService()方法结束服务12.阐述android:padding和android:layout_margin的差别?不同点:android:padding是站在父View的角度描述问题,它规定它里面的内容必须与这个父View边界的距离,android:layout_margin则是站在自己角度描述问题,规定自己和其他(上下左右)的View之间的距离13.列举TextView空间中的常用属性(至少五个)?android:textandroid:hintandroid:textColorandroid:textSizeandroid:maxLinesandroid:layout_widthandroid:layout_heightandroid:layout_gravity填空1.httpConnection中把请求方法设置为post的方法是__setRequestMethod("POST")_______2.Android虚拟设备的缩写是____AVD__3.android中使用Http进行通信的方法有两种,分别是使用HttpURLConnection和HttpClient实现4.启动一个Activity并且新的Activity执行后需要返回到启动它的Activity的函数是_________startActivityForResult()____5.在AndroidMainfest.xml中的 是指应用程序中__访问网络___权限和___使用相机___权限6.为了适应不同分辨率机型,布局时字体单位应该用_sp_,像素单位应该用__dip_7.定义LinearLayout水平方向布局时至少设置的三个属性:android:orientationandroid:layout_width\nandroid:layout_height8.Activity主要有4种状态,分别是:Running状态Paused状态Stopped状态Killed状态9.android的四大组件是Activity、Service、BroadcasdRecevier和ContentProvider编程:1.编写一个CurrentTimeService类继承Service在LogCat中输出当前时间publicclassCurrentTimeServiceextendsService{@OverridepublicIBinderonBind(Intentintent){returnnull;}@OverridepublicintonStartCommand(Intentintent,intflags,intstartId){Timetime=newTime();//创建time对象time.setToNow();//设置时间为当前时间StringcurrentTime=time.format(%Y-%m-%d%H:%M:%S);//设置时间格式Log.i("CurrentTimeService",currentTime)//记录当前时间returnSTART_STLCKY;}}2.点击按钮button1后,弹出一个带单选列表的对话框可以选择以下列表:"标准"、"会议"、"户外"、"无声",并且该对话框带有一个确定按钮button1.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){finalString[]items=newString[]{"标准","会议","户外","无声","离线"}Builderbuilder=newAlertDialog.Builder(MainActivity.this);builder.setIcon(R.drawable.advise2);//设置对话框图标\nbuilder.setTitle("请选择要使用的情景模式:");//设置对话框的标题builder.setSingleChoiceItems(items,0,newOnClickListener(){@overridepublicvoidonClick(DialogInterfacedialog,intwhich){Toast.makeText(MainActivity.this,"您选择了"+items[which],Toast.LENGTH_SHORT).show();//显示选择结果}})builder.setPositiveButton("确定",null);//添加确定按钮builder.create().show();//创建对话并显示}})3.点击按钮button1后,发现一个通知,状态栏中通知的提示信息为"显示第一个通知",单击通知图标后通知的详细内容标题为"无题",详细内容的正文为"每天进步一点点"./button1.setOnClickListener(newView.OnclickListener()@overridepublicvoidonClick(Viewv){Notificationnotify=newNotification();创建一个Notification对象notify.icon=R.drawable.advise;notify.tickerText="显示第一个通知";notify.when=System.currentTimeMillis();//设置发送时间notify.defaults=Notification.DEFAULT_ALL;//设置默认声音、默认震动和默认闪光灯notify.setLatesEventInfo(MainActivity.this,"无题","每天进步一点点",null);notificationManager.notify(NOTIFYID_1,notify);//通过通知管理器发送通知}});4.点击按钮button1后,给号码123456789发送一条短信,内容为"你好"button1.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewv){Intentintent=newIntent();//创建Intent对象intent.setData(Uri.parse("smsto:123456789"));//设置要发送的号码intent.putExtra("sms_body","你好");//设置要发送的信息内容startActivity(intent);//将Intent传递给Activity\n}})5.点击MainActivity中的按钮button1后,启动名为AcceptdataActivity的Activity,并向该Activity传递一个字符串"helloworld",请求码为111,在MainActivity中获取AcceptdataActivity的返回值并以Toast显示该返回值,结果码为222button1.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewv){Intentintent=newIntent();//创建intent对象//访问要设置的Activityintent.setClass(MainActivity.this,AcceptdataActivity.class);intent.putExtra("str","第一个Activity传过来的值");//设置要传递的值startActivityForResult(intent,111);//启动Activity}});@OverrideprotectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){if(requestCode==222){//判断返回标志是否等于请求标识if(requestCode==AcceptdataActivity.RESULT_CODE){//判断结果标识Bundlebundle=data.getExtras();//获取返回值并用Bundle接受Stringstr=bundle.getString("back");//获取Bundle中的返回值//弹出对话框Toast.makeText(MainActivity.this,str,Toast.LENGTH_LONG).show();}}}6.启动MainActivity时WebView控件中显示兰州理工大学主页,启用javascript@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView=(webView)findViewById(R.id.web_view);webView.getSettings().setJavaScriptEnabled(true);webView.setWebViewClient(newWebViewClient(){@OverridepublicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){//根据传入的参数再去加载新的网页view.loadUrl(url);\n//表示当前WebView可以处理打开新网页的请求,不用借助系统浏览器reutrntrue;}});webView.loadUrl("http://www.lut.cn");}webView.setWebViewClient(newWebViewClient(){@OverridepublicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){//根据传入的参数再去加载新的网页view.loadUrl(url);//表示当前WebView可以处理打开新网页的请求,不用借助系统浏览器returntrue;}});webView.loadUrl("http://www.lut.cn");}7.在sendRequestWithHttpURLConnection()方法中创建一个线程,使用HttpURLConnection类访问"http://www.lut.cn",把网站返回结果在LogCat中输出privatevoidsendRequestWithHttpURLConnection(){//开启线程来发起网络请求newThread(newRunnable(){@Overridepublicvoidrun(){HttpURLConnectionconnection=null;try{URLurl=newURL("http://www.lut.cn");connection=(HttpURLConnection)url.openConnection();connection.setRequestMethod("GET");connection.setConnectTimeout(8000);connection.setReadTimeout(8000);connection.setDoInput(true);connection.setDoOutput(true);InputStreamin=connection.getInputSrteam();//下面获取到的输入流进行读取BufferedReaderreader=newBufferedReader(newInputStreamReader(in));StringBuilderresponse=newStringBuilder();Stringline;while((line=reader.readLine())!=null){response.append(line);\n}Log.i("TestHttp",message);}catch(Exceptione){e.printStackTrace();}finally{if(connection!=null){connection.disconnect();}}}}).start();}