码迷,mamicode.com
首页 > 移动开发 > 详细

Android第一天

时间:2015-07-10 00:33:55      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:android目录结构



                 一。安卓系统的四层架构
                    第一层:Applications:这里是手机上系统的应用或者是第三方应用
                    第二层:Application Framework:这里是java相关的api部分
                    第三层:包括两个平行的部分
                                     1.类库:liberties
                                     2.Android Runtime:DVM(安卓虚拟机)                       
                    最底层:Linux 内核
                二。DVM和JVM的区别
                        DVM:.java-->.class-->.dex-->.apk
                        JVM:  .java-->.class-->.jar
               三。Android新虚拟机:
                        1.ART:第一次安装应用时,字节码会先编译成机器码使其成为真正的本地应用,

                              当再次启动时,执行速度会提升。
                        2.Dalvk(旧):每次运行应用,都要重新编译成字节码,执行速度比较慢。
                四。Android项目目录结构
                    * Activity:应用被打开时显示的界面

                    * src:项目代码

    * R.java:项目中所有资源文件的资源id

    * Android.jar:Android的jar包,导入此包方可使用Android的api

    * libs:导入第三方jar包

    * assets:存放资源文件,比方说mp3、视频文件,通过IO流进行读取

    * bin:存放编译打包后的文件

    * res:存放资源文件,存放在此文件夹下的所有资源文件都会生成资源id

    * drawable:存放图片资源

    * layout:存放布局文件,把布局文件通过资源id指定给activity,

       界面就会显示出该布局文件定义的布局

    * menu:定义菜单的样式    

    ###Android的配置文件(清单文件)

    * 指定应用的包名

    package="com.itheima.helloworld"

    * data/data/com.itheima.helloworld(上面代码指定的包名)

    * 应用生成的文件都会存放在此路径下

    * Android的四大组件在使用前全部需要在清单文件中配置

    * <Application/>的配置对整个应用生效

    * <activity/>的配置对该activity生效

应用打包的过程:

    .java-->.dex、.apk-->sign-->安装

    ADB:安卓调试桥,建立eclipse和Android设备之间的桥梁

    常用的一些adb命令:

        

            * adb start-server:启动adb进程

            * adb kill-server:杀死adb进程

            * adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb进程

            * adb install XXX.apk:往模拟器安装apk

            * adb uninstall 包名:删除模拟器中的应用

            * adb shell:进入linux命令行

            * ps:查看运行进程

            * ls:查看当前目录下的文件结构

            * netstat -ano:查看占用端口的进程

五。简单应用        

    1.电话拨号器:

        重要的一些代码在MainActivity.java中编辑的,注意要在清单中设置权限允许:

        <uses-permission android:name="android.permission.CALL_PHONE"/>

               protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
                    //Log.d("THE FIRST ONE", "heheheheheheh");
                    Button bt=(Button)findViewById(R.id.button1);
                    bt.setOnClickListener(new MyClick());
                }
               
               
                
                class MyClick implements OnClickListener{
            
            		@Override
            		public void onClick(View v) {
            			// TODO Auto-generated method stub
            			EditText et=(EditText)findViewById(R.id.editText1);
            			String val=et.getText().toString();
            			Intent intent=new Intent();
            			intent.setAction(Intent.ACTION_CALL);
            			intent.setData(Uri.parse("tel:"+val));
            			startActivity(intent);
            		}
                	
                }

    2.点击事件的几种方式:        

            ###第一种

            * 定义一个MyListener实现onClickListener接口                        

                    Button bt1 = (Button) findViewById(R.id.bt1);
                    bt1.setOnClickListener(new MyListener());

            ###第二种

            * 定义一个匿名内部类实现onClickListener接口

            Button bt2 = (Button) findViewById(R.id.bt2);
                    bt2.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
            System.out.println("第二种");
            
            }
            });

            ###第三种

            * 让当前activity实现onClickListener接口            

            Button bt3 = (Button) findViewById(R.id.bt3);
                    bt3.setOnClickListener(this);

            ###第四种

            * 给Button节点设置onClick属性,            

             android:onClick="click"             

            * 然后在activity中定义跟该属性值同名的方法    

             public void click(View v){
                    System.out.println("第四种");
                    }

        3.短信发送器

            这个简单例子主要用到点击事件的第四种方式,同样不要忘记添加权限:

            <uses-permission android:name="android.permission.SEND_SMS"/>具体代码如下:

    

            public void send(View v){        
            	//拿到用户输入的号码和内容
            	EditText et_phone = (EditText) findViewById(R.id.et_phone);
            	EditText et_content = (EditText) findViewById(R.id.et_content);
            	
            	String phone = et_phone.getText().toString();
            	String content = et_content.getText().toString();
            	
            	//1.获取短信管理器
            	SmsManager sm = SmsManager.getDefault();
            	
            	//2.切割短信,把长短信分成若干个小短信
            	ArrayList<String> smss = sm.divideMessage(content);
            	
            	//3.for循环把集合中所有短信全部发出去
            	for (String string : smss) {
        			
            		sm.sendTextMessage(phone, null, string, null, null);
        		}
            }


Android第一天

标签:android目录结构

原文地址:http://flytheworld.blog.51cto.com/3623271/1672695

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!