android学习笔记完全版.docx
- 文档编号:25932423
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:25
- 大小:3.26MB
android学习笔记完全版.docx
《android学习笔记完全版.docx》由会员分享,可在线阅读,更多相关《android学习笔记完全版.docx(25页珍藏版)》请在冰豆网上搜索。
android学习笔记完全版
由应用调用框架再调用库中的方法,在调用核心驱动程序。
安卓工程目录结构
常用代码:
android=" android: layout_width="fill_parent" android: layout_height="fill_parent" android: orientation="vertical"> TEXTView控件的使用方法: 1.利用setContentView(对象);在mainactivity中进行显示文本。 2.在layout中利用xml进行布局 设置局部字体的颜色 Android: textcolor=”#00ffff” 超链接: android: autolink=”all” 跑马灯的效果如下显示: ellipsize表示省略,marquee表示滚动。 EditText控件使用方法: Android: maxlength=“字符的数量”控制字符串输入的数量 Android: singleLine=“true”单行false”多行 Android: inputType=“number”等等类型为限制输入信息 Android: hint=“字符串”为显示提示信息 Android: drawableLeft=“@drawable/title”左边显示图片 Android: background=”@drawable/shape”设置输入框的形状。 Button控件使用方法: Android: text=”按钮显示的文本” Android: height=”wrap_content”高度自适应字体 Android: width=“wrap_content”“fill_parent”宽度填满父容器 Button控件事件绑定方法 1.声明button变量。 PrivateButtonbtn1=null; 2.查找: btn1=(Button)findViewById(R.id.btn1);需要强制转换为Button类型 添加单个监听事件: btn1.setOnClickListener(newOnClickListener() { @Override publicvoidonClick(Viewv) { //TODOAuto-generatedmethodstub Toast.makeText(MainActivity.this,"你点击了按钮",Toast.LENGTH_LONG).show(); } }); Button控件事件多个绑定方法: protectedvoidonCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1=(Button)findViewById(R.id.btn1); btn2=(Button)findViewById(R.id.btn2); btn1.setOnClickListener(listener); btn2.setOnClickListener(listener); } privateOnClickListenerlistener=newOnClickListener() { @Override publicvoidonClick(Viewv) { Buttonbtn=(Button)v; switch(btn.getId()) { caseR.id.btn1: Toast.makeText(MainActivity.this,"你点击了按钮",Toast.LENGTH_LONG).show(); break; caseR.id.btn2: Toast.makeText(MainActivity.this,"你喜欢我",Toast.LENGTH_LONG).show(); break; } //TODOAuto-generatedmethodstub } }; Android的七大生命周期: onCreate()-onStart()-onResume-onPause()-onStop()-onDestroy()-onRestart() 安卓权限: 利用java将图片显示的代码: ImageViewiv=newImageView(this); iv.setImageBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.dzxx)); this.setContentView(iv); 利用java将媒体文件插入的代码 在@Override前声明MediaPlayermidPlayer; 然后写代码midPlayer=MediaPlayer.create(this,R.raw.mid); midPlayer.start(); Andriodmanifest.xml内声明权限 name="andriod.permission.SEND_SMS"/>发短信的权限 权限大全 Intent初级学习笔记 拨打电话权限: name="android.permission.CALL_PHONE"/> 1.创建按钮对象,2.为对象查找id,3为对象按钮添加监听事件4.写监听事件函数 调用Activity的代码: Intentintent2=newIntent(); intent2.setClass(IntentActivity.this,SecondActivity.class); 或者: Intentintent=newIntent(this,SignInActivity.class); startActivity(intent); 添加行为: Intentintent1=newIntent(); intent1.setAction(intent1.ACTION_SENDTO); intent1.setData(Uri.parse("smsto: 5554")); intent1.putExtra("sms_body","Helloword"); startActivity(intent1); 从上一个活动中接受结果从而开始下个活动的代码: privatevoidpickContact(){ //Createanintentto"pick"acontact,asdefinedbythecontentproviderURI Intentintent=newIntent(Intent.ACTION_PICK,Contacts.CONTENT_URI); startActivityForResult(intent,PICK_CONTACT_REQUEST); } @Override protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){ //Iftherequestwentwell(OK)andtherequestwasPICK_CONTACT_REQUEST if(resultCode==Activity.RESULT_OK&&requestCode==PICK_CONTACT_REQUEST){ //Performaquerytothecontact'scontentproviderforthecontact'sname Cursorcursor=getContentResolver().query(data.getData(), newString[]{Contacts.DISPLAY_NAME},null,null,null); if(cursor.moveToFirst()){//Trueifthecursorisnotempty intcolumnIndex=cursor.getColumnIndex(Contacts.DISPLAY_NAME); Stringname=cursor.getString(columnIndex); //Dosomethingwiththeselectedcontact'sname... } } } 生命周期的代码: publicclassExampleActivityextendsActivity{ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); //Theactivityisbeingcreated. } @Override protectedvoidonStart(){ super.onStart(); //Theactivityisabouttobecomevisible. } @Override protectedvoidonResume(){ super.onResume(); //Theactivityhasbecomevisible(itisnow"resumed"). } @Override protectedvoidonPause(){ super.onPause(); //Anotheractivityistakingfocus(thisactivityisabouttobe"paused"). } @Override protectedvoidonStop(){ super.onStop(); //Theactivityisnolongervisible(itisnow"stopped") } @Override protectedvoidonDestroy(){ super.onDestroy(); //Theactivityisabouttobedestroyed. } } 流程图: Activity启动时调用oncreate()—onstart()—onresume(); 切换另一个Activity时上一个activity为onpause()—onstop() 该activity调用oncreate()—onstart()—onresume() 再返回第一个activity时第二个调用onpause()—onstop()—ondestory() 第一个调用onrestart()--onstart()—onresume() 退出时调用onpause()—onstop()—ondestory() 点击home键时调用onpause()—onstop() 回来时调用onrestart()--onstart()—onresume() 保存数据的方法: protectedvoidonSaveInstanceState(BundleoutState) { //TODOAuto-generatedmethodstub super.onSaveInstanceState(outState); Stringcontent=txt.getText().toString(); outState.putString(CONTENT,content); } 在oncreat()中添加判断用于恢复: if(null! =savedInstanceState&&savedInstanceState.containsKey(CONTENT)) { txt.setText(savedInstanceState.getString(CONTENT)); } 安卓主题代码: Linearlayout线性布局: android: orientation="horizontal"方向 android: gravity="right"位置 android: layout_weight=”1”表示控件在空间所占比例 android: background="#0000ff"背景颜色 android: textcolor=”#0000ff”字体颜色 android: gravity="center_vertical|center_horizontal"垂直与水平均居中 AbsoluteLayout绝对布局: android: layout_x="10px" android: layout_y="10px" Framelayout框架布局: 具有覆盖作用,的堆栈型布局。 RelativeLayout相对布局: Android: layout_above将控件置于给定id的控件之上 Android: layout_below将控件置于给定id的控件之下 Android: layout_toLeftOf将控件置于给定id的控件之左 Android: layout_toRightOf将控件置于给定id的控件之右 Android: padding=”10px”表示控件与容器的间隔为10 Android: layout_margin=”30dp”表示控件与控件之间的间隔 TableLayout桌面布局 程序的调试: debug测试 输出信息。 Service学习: 使用时需要在mainfest中声明服务 name=”.Service”/>放在应用之前。 调用: Intentintent=newIntent(MainActivity.this,TestService.class); startService(intent); 创建BoundServices的方法 IntentService使用方法: 由于Service和应用程序在同一个线程,所以需要我们开创新的线程给Service。 创建新的线程: 方法一: newMyThread().start(); PrivateclassMyThreadextendsThread {publicvoidrun() { Try { Log.i(Tag,”info”); Log.i(Tag,”文件下载”); Thread.sleep(2000);//休眠2秒 }catch(InterruptedExceptione) { e.printStackTrace(); } } 方法二: 利用intentservice记得要在mainfest中添加声明。 创建新的类: PublicclassExampleIntentServiceextendsIntentService { PublicExampleIntentService() { Super(“ExampkeIntentService“); } ProtectedvoidOnHandleIntent(Intentintent) { Try { Log.i(Tag,”info”); Log.i(Tag,”文件下载”); Thread.sleep(2000);//休眠2秒 }catch(InterruptedExceptione) { e.printStackTrace(); } } } StatusBar和Notifications学习(状态和提示框) 源代码: publicclassstatusServiceextendsIntentService { privatestaticfinalStringTAG="statusService"; privatestaticfinalintKUKA=0; publicstatusService() { super("statusService"); //TODOAuto-generatedconstructorstub } @Override protectedvoidonHandleIntent(Intentintent) { Log.i(TAG,"开始下载。 。 。 "); showNotification(); try { Thread.sleep(2000); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Log.i(TAG,"程序下载完毕"); } privatevoidshowNotification() { Notificationnotification=newNotification(R.drawable.head,"电子信息学院",System.currentTimeMillis()); Intentintent=newIntent(this,MainActivity.class);//触摸提示信息显示相应界面 PendingIntentcontentIntent=PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT); notification.setLatestEventInfo(this,"电机","电子信息学院",contentIntent); NotificationManagermanager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); manager.notify(KUKA,notification); } 在mainActivity中利用 protectedvoidonStart() { super.onStart(); NotificationManagermanager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); manager.cancel(R.layout.activity_main);//取消的作用 } 来取消状态栏上的图标。 以下程序为动态更新状态栏的内容。 publicclassstatusServiceextendsIntentService { privatestaticfinalStringTAG="statusService"; privatestaticfinalintKUKA=0; publicstatusService() { super("statusService"); //TODOAuto-generatedconstructorstub } @Override protectedvoidonHandleIntent(Intentintent) { Log.i(TAG,"开始下载。 。 。 "); showNotification(false); try { Thread.sleep(10000); showNotification(true); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Log.i(TAG,"程序下载完毕"); } privatevoidshowNotification(booleanfinish) { Notificationnotification; NotificationManagermanager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); Intentintent=newIntent(this,MainActivity.class);//触摸提示信息显示相应界面 PendingIntentcontentIntent=PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT); if(! finish) { notification=newNotification(R.drawable.head,"电子信息学院",System.currentTimeMillis()); notification.setLatestEventInfo(this,"电机","电子信息学院",contentIntent); } else{ notification=newNotification(R.drawable.head,"电子信息学院下载完毕",System.currentTimeMillis()); notification.setLatestEventInfo(this,"电机","电子信息学院下载完毕",contentIntent); } manager.notify(R.layout.activity_ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 学习 笔记 完全