一、Android项目目录结构

1.         AndroidManifest.xml:整个Android项目的配置,注册各组件

<activity android:name=".MainActivity" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN"
/> 
        //主活动

<category android:name="android.intent.category.LAUNCHER"
/>    
//首先启动的活动
    </intent-filter>
</activity>

2.        
Activity

逻辑与视图分离

1)        
AppCompatActivity:向下兼容Activity,Activity的子类。

2)        
oneCreate()方法:创建活动必执行。

3.        
build.gradle文件

1)        
Gradle是项目构建工具

2)        
一个项目有两个build.gradle

a)        
最外层目录下:全局的项目构建配置,一般无需修改

b)        
app目录下

defaultConfig闭包:

applicationId:在此修改包名

dependencies闭包:

项目的依赖关系:本地、库、远程

二、资源

引用资源:

代码中通过R.string.app_name

XML中通过@string/app_name

三、日志工具的使用

1.        
log.v
()      
log.d()      
log.i()        log.w()     
log.e()

级别:低→高

2.  
Log.d("MainActivity","oneCreate
execute");

tag:过滤打印信息(一般是当前类名,logt可自动生成TAG常量)

msg:打印的具体内容

3.        
logcat:过滤器、日志级别控制、关键字过滤

四、活动的基本用法

1.        
创建活动

2.        
创建和加载布局

a)        
XML定义Id:@+id/button_1

b)        
加载布局:setContentView(R.layout.first_layout);

3.        
在AndroidManifest中注册

使用<activity>,放在<application>标签下(自动注册)

a)        
声明主活动:

b)        
加标题栏

<activity android:name=".FirstActivity"
    android:label="This is FirstActivity">

4.        
活动中使用Toast

//      findViewById()获取布局中定义的元素,再将View向下转化成Button
        Button button1 = (Button)
findViewById(R.id.button_1);
        /*
        * Button的setOnClickListener()方法:注册监听器
        * Toast.makeText()方法:创建Toast对象
        * 这里使用匿名内部类,View是一个类,OnClickListener()是接口
       * */
//        button1.setOnClickListener(new
View.OnClickListener() {
            @Override
            public void onClick(View
v) {
               
Toast.makeText(FirstActivity.this,"You click Button
1",
                       
Toast.LENGTH_SHORT).show();
            }
        });

step1:定义触发点——按钮(使用findViewById()获取)

stpe2:为按钮注册监听器,监听器中有OnClick()方法,点击按钮就执行OnClick()

stpe3:OnClick()中调用Toast.makeText()创建Toast对象,该方法有三个参数:Context、显示的文本、显示时长

最新文章

  1. PHPStorm配置自己喜欢的主题
  2. NPM使用前设置和升级
  3. python-day02数据类型-字符串和列表的操作
  4. DLUTOJ 1142 高中的公式
  5. 失恋28天-缝补礼物(codevs 2503)
  6. java.lang.SecurityException: Permission denied (missing INTERNET permission?) 解决
  7. ORA-00314,redolog 损坏,或丢失处理方法
  8. Chrome调试大全
  9. CubeMX使用及感受
  10. 新版Azure Automation Account 浅析(二) --- 更新Powershell模块和创建Runbook
  11. hdu 3948 后缀数组
  12. sql防止注入
  13. java遍历Map
  14. 里氏替换原则(LSP)
  15. BZOJ5207 : [Jsoi2017]隧道
  16. elk-插件(head、X-pack)(五)
  17. 百度地图API密钥
  18. .net mvc 分页
  19. CCPC-Wannafly Winter Camp Day7 D---二次函数【数论】【构造】
  20. PAT B1050 螺旋矩阵 (25 分)

热门文章

  1. PageObject 页面对象模式
  2. python基础之初始函数
  3. Java Lock的使用
  4. 梳理common-io工具包
  5. H5的video标签在网页上播放MP4视频时只有声音没有画面
  6. dubbo学习笔记二(服务调用)
  7. ros 封ip,域名,端口,重定向
  8. 004-linux下配置rsyslog日志收集服务器案例 rsyslog+loganalyzer日志服务器,无法添加报表模板解决
  9. Kubernetes 编排神器之 Helm
  10. Head First设计模式 装饰者模式