Android学习要点.docx

上传人:b****6 文档编号:5172133 上传时间:2022-12-13 格式:DOCX 页数:10 大小:27.64KB
下载 相关 举报
Android学习要点.docx_第1页
第1页 / 共10页
Android学习要点.docx_第2页
第2页 / 共10页
Android学习要点.docx_第3页
第3页 / 共10页
Android学习要点.docx_第4页
第4页 / 共10页
Android学习要点.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Android学习要点.docx

《Android学习要点.docx》由会员分享,可在线阅读,更多相关《Android学习要点.docx(10页珍藏版)》请在冰豆网上搜索。

Android学习要点.docx

Android学习要点

Android学习要点

Day03:

1、写出三种不同的布局LinearLayoutRelativeLayoutFrameLayout

二、写出线性布局方向属性和属性值android:

orientationhorizontalvertical三、写出相对布局的16个属性相对于兄弟控件位置:

layout_toLeftOflayout_toRightOflayout_abovelayout_below相对于兄弟控件对齐:

layout_alignLeftlayout_alignRightlayout_alignToplayout_alignBottomlayout_alignBaseline相对于父控件的位置:

layout_alignParentLeftlayout_alignParentRightlayout_alignParentToplayout_alignParentBottom相对于父控件对齐:

layout_centerInParentlayout_centerHorizontallayout_centerVertical四、列出常用的属性(字体大小,字体颜色、边距、对齐方式)textSizetextColorpaddinglayout_margingravitylayout_gravity

Day04:

一、写出常用的UI控件(至少6个)TextViewImageViewButtonRadioButtonCheckBoxEditTextRadioGroupImageButton二、写出三个不同UI控件事件监听器(接口)OnClickListenerOnCheckedChangeListener(CompoundButton/RadioGroup)OnItemSelectedListener三、写出ImageView的缩放类型的属性及其属性值(至少4个属性值)android:

scaleTypecentercenterCropcenterInsidefitCenterfitStartfitEndfitXY四、写出实现跑马灯的属性android:

singleLine=“true”android:

ellipsize=“marquee”android:

marqueeRepeatLimit=“marquee_forever”android:

focusable=“true”android:

focusableInTouchMode=“true”

Day05:

一、写出相对布局的16个属性二、写出Spinner的常用属性(至少4个)下拉模式:

android:

spinnerMode设置标题:

android:

prompt=“@string/title”设置数据源:

android:

entries=“@array/cityes”设置下拉背景:

android:

popupBackground=“#f00”三、描述Spinner与ArrrayAdapter之间的用法(需要写出ArrayAdapter的构造方法)1.Spinner是AdapterView的子类,因此需要ArrayAdapter显示数据2.Spinner.setAdapter(ArrayAdapter)设置Spinner的适配器对象3.ArrayAdatper(Contextcontext,intresid,Listdatas)ArrayAdapter(Contextcontext,intresid,T[]datas)四、写出AutoCompleteTextView的用法及文本改变事件监听器接口1.AutoCompleteTextView辅助用户快速输入内容2.AutoCompleteTextView辅助的信息是集合类型,因此需要一个ArrayAdapter3.AutoCompleteTextView.setAdapter(ArrayAdapter)4.AutoCompleteTextView.addTextChangedLinstener(TextWatcher)

 

Day06:

一、写出ImageView的ScaleType的属性值(至少需要5个)centerCropcenterInsidefitCenterfitStartfitEndfitXYcenter二、写出Activity之间的传值方式1.intent2.静态成员3.全局对象或方法4.startActivityForResult三、写出Spinner与ArrayAdapter的用法Spinner.setAdapter(ArrayAdapter)ArrayAdapter(Contextcontext,intresid,T[])或ArrayAdapter(Contextcontext,intresid,List)四、写出Activity的生命周期方法与相关说明1.onCreate()初始创建时调用,且只调用一次2.onStart()显示窗口3.onResume()获取焦点,与用户交互4.onPause()失去焦点,暂停与用户交互5.onStop()关闭窗口6.onRestart()重新显示窗口:

onStart()—>onResume()7.onDestory()销毁窗口对象五、写出ActivityA启动ActivityB的生命周期方法的调用顺序A:

onPause->B:

onCreate()->B:

onStart()->B:

onResume()->A:

onStop()六、写出当前Activity下按Home键的生命周期方法的调用顺序onPause()->onStop()

 

Day07:

一、写四种Activity运行模式和设置方法四种:

standardsingleTopsingleTasksingleInstance设置方法:

在清单配置文件(AndroidManifest.xml)的Activity标签中使用android:

launchMode属性设置二、RunningTaskInfo类的常用属性id,baseActivity,topActivity,numActivities三、写出Intent的七大属性ComponentNameActionCategoryDataTypeExtraFlag四、写出打电话的隐式意图Intentintent=newIntent(Intent.ACTION_CALL,Uri.parse(“tel:

10086”));startActivity(intent);

一、描述一下Android中使用线程的规则1.主线程(UI线程)不能被阻塞2.子线程(WorkThread)不能访问UI控件二、什么时候会发生ANR,ANR全称是什么是在主线程被阻塞5秒以上则会发生ANR,ApplicationnotResponding解决办法是在子线程中执行耗时操作三、写出AsyncTask的用法1.创建类,继承AsyncTask类,并指定三个泛型2.重写doInBackground()方法,在此方法中处理网络或耗时操作3.重写onPostExecute()处理后台线程返回结果4.重写onPreExecute()和onProgressUpdate()实现后台处理进度信息5.在UI线程中实现自定义的AsyncTask的子类,并调用其的execute()方法执行网络请求四、如何取消AsyncTask1.通过自定义的AsyncTask的子类对象,调用其的cancel(true)取消任务2.在AsyncTask子类的doInBackground()方法中,通过isCancelled()判断当前任务是否被取消

Day09:

一、写出AsyncTask的三种泛型的作用1.Params:

请求处理的类型(Url和String)2.Progress:

后台处理的进度(Integer)3.Result:

后台处理的结果类型(Bitmap,List)二、如何修改ProgressBar的样式

android:

attr?

ProgressBarStyleHorizontal”>三、写出ListView的常用属性android:

divider设置分隔线的样式android:

dividerHeight:

设置分隔线的高度android:

entries设置列表的数据源四、写出BaseAdapter的四个抽象方法publicintgetCount();publicObjectgetItem(intposition)publiclonggetItemId(intposition)publicViewgetView(intposition,ViewconvertView,ViewGroupparent);

 

Day12:

1、写出三种不同的菜单的创建方式和点击菜单项的事件处理1.OptionsMenu在Activity中重写onCreateOptionsMenu()重写onOptionsItemSelected()2.ContextMenu重写onCreateContextMenu()重写onContextItemSelected()3.PopupMenupopupMenu=newPoppuMenu(Context,View);popupMenu.setOnMenuItemClickListener(OnMenuItemClickListener)//设置菜单项点击事件二、写出AlertDialog简单用法AlertDialog.Builderbuilder=newAlertDialog.Builder(Context);builder.setTitle(String).setIcon(intres).setMessage(String).setPositiveButton(String,DialogInterface.OnClickListener).create().show();三、写出一个通知的普通用法(构造通知和发送通知)1.NotificationCompat.Builderbuilder=newNotificationCompat.Builder(Context);builder.setSmallIcon(intresId).setContentTitle(String).setContentText(String).setContentIntent(PendingIntent);2.NotificationManagernotifyManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);notifyManager.notify(1,builder.build())

 

Day13:

1、写出Fragment11个生命周期方法onAttach()onCreate()onCreateView()onActivityCreated()onStart()onResume()onPause()onStop()onDestroyView()onDestroy()onDetach()二、写出Fragment传值方式Bundle方式:

FragmentTransaction.setArguments(Bundle)Activity方式:

在Activity中声明public方法,在Fragment中通过getActivity()获取Fragment所在的Activity对象,并执行其中public方法三、如何动态增加Fragment到指定的布局中(id:

contentId)FragmentManagermanager=getFragmentManager();FragmentTransactiontrans=manager.beginTransaction();trans.replace(contentId,newCustomFragment());

mit()

 

Day14:

1、写出四种数据存储方式SharedPreferences共享参数内部存储扩展存储网络存储

二、如何判断SDCard是否可用,如何获取SDCard的根目录1.StringsdcardState=Environment.getExternalStorageState();if(sdCardSate.equals(Environment.MEDIA_MOUNTED){//可用}2.Stringpath=Environment.getExteralStorageDirectory().getAbsolutePath()三、写出内部存储的读写方法1.读FileInputStreamfis=openFileInput(String)2.写FileOutputStreamfos=openFileOutput(String,intmode),Context.MODE_PRIVATE四、写出共享参数的简单使用的代码(读与写)1.读SharedPreferencespres=getSharedPreferences();Stringkey=pres.getString(“key”);2.写SharedPreferencespres=getSharedPreferences();SharedPreferecces.Editoreditor=pres.edit();editor.putString(“key”,”Value”);mit();五、写出上传文件核心代码(Android端)MultipartEntitymultipartEntity=newMultipartEntity();FileBodyfile=newFileBody(newFile(filePath));FormBodyPartformPart=newFormBodyPart(“form”,file);multipartEntity.addPart(formPart);HttpClientclient=newHttpClient();HttpPostpost=newHttpPost(url);post.setEntity(multipartEntity);

Day15:

一、写出SimpleAdapter的构造方法SimpleAdapter(Context,List

>>,intresId,String[],int[])二、写出SimpleCursorAdapter的构造方法SimpleCursorAdapter(Context,intresId,Cursor,String[],int[],intflags)flag—>CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVERCursorAdatper.FLAG_AUTO_REQUERY三、写出数据库操作的相关类(到少3个)SQLiteDatabaseSQLiteOpenHelperCursorContentValues四、写出内部存储的数据库的位置/data/data/{packName}/databases/*.db

 

day16:

1、写出AsyncTask使用步骤1.创建类,继承AsyncTask,并指定三个泛型2.重写四个方法onPreExecute()ResultdoInBackground(Params…params)[必须实现]onPostExecute(Resultresult)[必须重写]onProgressUpdate(Progress…progress)3.在UI线程中实例化异步任务类,并执行execute(Params…)二、写出BaseAdapter的四个抽象方法intgetCount()ObjectgetItem(intposition)longgetItemId(intposition)ViewgetView(intposition,ViewconvertView,ViewGroupparent)三、写出SQLiteOpenHelper的用法(两种打开数据库的方式)1.创建类,继承SQLiteOpenHelper2.重写二个方法,并增加带Context参数的构造方法1).onCreate()2).onUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)

3.实例化SQLiteOpenHelper子类的对象->dbHelper1).dbHelper.getReadableDatabase()只读方式2).dbHelper.getWritableDatabase()读写方式

 

Day17:

1、写出Fragment的11个生命周期方法1)onAttach(Activity)onCreate(Bundle)onCreateView(LayoutInflater,ViewGroupcontainer,Bundle)onActvityCreated(Bundle)2)onStart()onResume()onPause()onStop()3)onDestoryView()onDestory()onDettach()二、解析以下的Json内容:

(至少2种方式)[{age:

10,name:

”s1”},{age:

15,name:

”s2”,sex:

”男”},{name:

”s3”,sex:

”女”}]1.StringjsonStr=“[{age:

10,name:

”s1”},{age:

15,name:

”s2”,sex:

”男”},{name:

”s3”,sex:

”女”}]”JSONArrayarray=newJSONArrray(jsonStr);for(inti=0;iStudent2.Listlist=JSON.parseArray(jsonStr,Student.class);3.GOSN方式1)创建Student类2)创建TypeTokentypeToken=newTypeToken>(){};3)创建Gson对象:

Gsongson=newGson();Listlists=gson.fromJSON(jsonStr,typeToken.getType());三、写出ContentProvider的使用步骤(涉及到提供方和使用方及相关的方法)1.提供方(ContentProvider端)1)创建SQLiteOpenHelper的子类,并实现两个方法,用于对本应用下的数据库操作的onCreate()onupgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)2)创建ContentProvider的子类,并实现6个方法,主要提供给ContentResolver端使用的booleanonCreate()query(Uriuri,String[]projections,Stringwhere,String[]whereArgs,StringsortOrder)insert(Uriuri,StringnullColum,ContentValuesvalues)update(Uriuri,ContentValuesvalues,Stringwhere,String[]whereArgs)delete(Uriuri,Stringwhere,String[]whereArgs)StringgetType(Uriuri)3)在ContentProvider子类中增加Authority和相应请求的Code4)根据请求的Code增加Uri到UriMatcher中UriMatchermatcher=newUriMatcher(UriMatcher.NO_MATCH)matcher.addUri(StringAuthority,Stringpath,intcode)5)在相应的方法中通过UriMatcher对象,匹配当前请求的Uri是哪种Code,根据不同的code来处理不同表的事务6)在AndroidManifest.xml清单配置文件增加访问当前ContentProvider的权限,并注册ContentProvider

name=“{Authority}.READ_WRITE”/>..

name=“CotentProvider子类的完整类路径”android:

authorites=“{Authority}”android:

permission=“{Authority}.READ_WRITE”android:

exported=“true”/>2.使用方1).在AndroidManifest.xml清单配置文件使用提供方声明的权限

name=“{Authority}.READ_WRITE”/>2)通过getContentResolver()获取到ContentResolver对象,并执行相应的数据处理事务注意:

.需要正确使用Uri数据访问接口和访问字段

 

Day18:

1、写出SimpleCursorAdapter的构造方法SimpleCursorAdapter(Context,intresId,Cursor,String[]from,int[]to,intflag)flag->CursorAdapter.FLAG_REISTER_CONTENT_OBSERVER二、写出启动Loader的步骤1.当前的Activity或Fragment实现LoaderCallbacs接口,并实现其三个方法LoaderonCreateLoader(intloaderId,Bundleargs)onLoadFinished(Loaderloader,Cursordata)onLoaderReset(Lo

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1