我的Android第二课

 嗨!各位,小编又和大家分享知识啦,在昨天的博客笔记中小编给大家讲解了如何去配置Android工具以及SDK中的一些配置,那在今天的学习小编会带给大家哪些Android知识呢?首先我们看一下今天的学习目录吧。

知识一:了解Android项目目录结构

知识二:Android的配置文件(清单文件)

知识三:了解DDMS的作用

知识四:adb执行命令和配置

知识五:简单案例(打电话)

Android项目的目录结构

  • Activity:应用被打开时显示的界面
  • src:项目代码
  • R.java:项目中所有资源文件的资源id,在文件下可以通过id读取到layout中的文件信息,相当于程序的资源指针
  • Android.jar:Android的jar包,导入此包方可使用Android的api
  • libs:导入第三方jar包
  • assets:存放资源文件,比方说mp3、视频文件
  • bin:存放编译打包后的文件
  • res:存放资源文件,存放在此文件夹下的所有资源文件都会生成资源id
  • drawable:存放图片资源
  • layout:存放布局文件,把布局文件通过资源id指定给activity,界面就会显示出该布局文件定义的布局
  • menu:定义菜单的样式
  • Strings.xml:存放字符串资源,每个资源都会有一个资源id

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

  • 指定应用的包名

    package="com.itheima.helloworld"
    
    • data/data/com.itheima.myFirstAndroid(上面代码指定的包名)
    • 应用生成的文件都会存放在此路径下
  • Android的四大组件在使用前全部需要在清单文件中配置
  • 配置对整个应用生效
  • 配置对该activity生效

DDMS

  • Dalvik debug monitor service
  • Dalvik调试监控服务:在该调试控制器中可以看到你对应的设备连接信息,还有你与哪些设备建立了连接操作

adb执行命令和配置

Android debug bridge:安卓调试桥:adb是Eclipse与服务器设备建立的连接桥梁,adb程序能够可以给任何一款Android设备建立连接,在adb程序还可以获取你当前连接设备的所有信息

在启用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:查看占用端口的进程

哈哈,可能有些学者已经遇到问题了,就是在打开DOM窗口执行命令时候怎么执行不了呢?

adb配置

没关系,问题好解决,只需要配置一下adb的环境变量即可

首先打开  控制面板-->系统和安全-->系统 -->高级设置-->环境变量 -->Path变量

点击编辑:首先要找到你的sdk中存放adb.exe文件目录

获取该目录的路径

:演示路径:F:\AndroidStudy\adt-bundle-windows-x86_64-20140702\sdk\platform-tools

  然后将该路径复制到你的Path变量值中即可

简单案例(打电话)

功能:用户输入一个号码,点击拨打按钮,启动系统打电话的应用把号码拨打出去

1.新建一个Android工程

2.点击res 目录下的layout文件打开activity_main.xml 配置文件

3.生成几个控件,一:文本编辑控件、二:按钮控件

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical"
    >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="请输入你要拨打的电话号码" />

    <EditText
        android:id="@+id/edit_Test"
         android:layout_width="match_parent"
        android:layout_height="wrap_content"

        />
     <Button
         android:id="@+id/btn_cell"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="打电话"
         />
</LinearLayout>

注1:组件必须设置宽高,否则不能通过编译

android:layout_width="wrap_content"
android:layout_height="wrap_content"

为了方便我们控制布局内容我们将xml中的 <RelativeLayout ></RelativeLayout >改为了<LinearLayout></LinearLayout>

以下是控件生成的效果图

注2:如果相对应的控制是自己手动生成的,那么必须指定一个控件Id  android:id="@+id/textView1" 否则运行出错

android:id="@+id/textView1"

  

4.编写我们的Java代码

点击src 下的MainActivity.java文件 ,编写如下代码

package com.example.myfirstandroid;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       //获取一个btn_cell按钮对象
       Button btn = (Button)this.findViewById(R.id.btn_cell);
       //给该按钮对象绑定一个按钮监听事件
       btn.setOnClickListener(new MyListener());

    }

    //编写一个监听内部类实现OnClickListener监听接口
    class MyListener implements OnClickListener{

        @Override
        //重写该接口的单击事件方法
        public void onClick(View v) {
            //获取编辑文本对象
            EditText editTest = (EditText)findViewById(R.id.edit_Test);
            //获取该编辑文本的内容
            String number = editTest.getText().toString() ;

            //获取一个系统内置的一个打电话的功能,告诉系统我们要执行打电话操作
            //获取一个创建图对象
            Intent intent = new Intent();
            //将动作封装到创建图中
            intent.setAction(Intent.ACTION_CALL);
            //设置打给谁操作
            intent.setData(Uri.parse("tel:" + number));

            //以上执行完毕将该动作告诉系统
            startActivity(intent);
        }

    }
}

以上简单小程序代码已经写完了,赶紧运行试一下吧!

总结:今天小编的Android知识点已经分享完了,今天的学习内容不多只是大致理解一下Android程序基本结构,该案例中也运用了内部类的定义,如果不懂内部类操作的学者也可以参照一下小编编写的内部类学习笔记也许会帮助到你哦!地址:http://www.cnblogs.com/xiaotaojing/p/6069184.html 因为内部类的定义在Android的开发中非常常见也经常使用,如果有某些学者对该篇比较有不懂的或者有疑惑的地方可以给小编留言哦!谢谢

时间: 2024-10-28 03:31:53

我的Android第二课的相关文章

Android 第二课——命令行基本操作

Android环境清单 环境变量的配置: 为了能在任意目录使用一下命令,需要将SDK目录下的platform-tools文件夹路径和tools文件夹路径配置到path环境变量中 1)找到安装路径对应下的两个文件夹 2)配置环境变量 在Windows环境下的path变量新增下面两项: E:\Program Files\android\adt-bundle-windows-x86-20140321\sdk\platform-tools; E:\Program Files\android\adt-bu

Android之ViewPager 第二课

在这里只粘贴部分代码 在第一课中,只有View滑动完毕,才触发动画效果,令滑块移动,在第二课中,将实现滑块与View同步运行. SecondActivity.java package com.android3; import android.annotation.SuppressLint; import android.content.Intent; import android.graphics.BitmapFactory; import android.graphics.Matrix; im

android从放弃到坚持放弃第二课(下)

续第二课( 下) 续第二课 下 活动的生命周期 返回栈 活动状态 活动的生存期 体验活动的生命周期 活动被回收怎么办 活动的启动模式 standard singleTop singleTask singleInstance 实践出真知 知晓当前是哪一个活动 随时随地退出程序 启动活动的最佳写法 问题 写app必须掌握活动的生命周期. [活动的生命周期] [返回栈] android每次启动的活动会覆盖在原活动之上,然后点击Back键会销毁最上层的活动.是使用Task来管理活动,一个任务就是一组存放

【Android开发学习】【第二课】Activity学习(1)

什么是Activity,就是我们所看到的 需要理解以下四句话: 1.一个Activity就是一个类,并且这个类需要集成Activity: 2.需要重写OnCreat方法 3.每个Activity都需要在AndroidManifest.xml中进行配置 xml中加入了<intent-filter>说明应用程序启动时先运行这个Activity 4.为Activity添加必要的控件,就可以生成我们想要的界面 在res的layout下的xml就是布局文件 例如这样的: 代码: 效果: [Android

IOS学习第二课 UIAlertView和UIActionSheet

1    UIAlertView 类似于Android中的Dialog,简单用法如下: UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Messate" delegate:nil cancelButtonTitle:@"Cancle" otherButtonTitles:nil, nil]; [alertView show]; 2   U

安卓学习第二课——短信发送器

package com.example.message; import android.app.Activity; import android.os.Bundle; import android.telephony.SmsManager; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;

【第二课】深入理解Handler

简要讲解Handler是做什么的 我们知道,在Android中,app启动会启动一个进程一个线程——UI线程,UI线程是主线程,并且不允许这个线程阻塞超过5秒,一旦超过5秒就会ANR. 所以较为耗时的工作(网络请求.文件读写)一般都是开一个线程来处理的,但其他的工作线程不可以直接操作Android的UI,UI只能在UI线程操作.所以就需要一个进程间通信机制来让工作线程的消息传递到UI线程,从而在UI线程改变UI. 这个通信机制就是Handler,普遍的做法就是通过重载Handler的handle

第二课:IOS(App)UIImage控件与TextField控件学习

作为一名实习生我是1.3.5在办公室工作,2.4.6去另一个地方听课学习IOS(app)课程,为了不落下课程,我准备每天晚上把落下的课程自学一遍,把不懂的记下等去听课的时候问老师,希望自己能跟上学习的步伐,不浪费时间.这一课是前几天听的,今天一起也写上了. 第二课:IOS(App)UIImage控件与TextField控件的学习,代码如下 一:UIImage控件代码:把图片添加到视图中并设置大小,这里没有牵涉到图片背景的颜色设置,我猜想应该是没必要去设置的吧,因为没有按钮功能的话背景颜色也看不到

grails2.3.11第二课

第二课主要介绍grails相关插件的使用,这是敏捷开发所必需的途径. 可以把grails的插件看作是grails正常项目的迷你型,因为看插件的源码,它的目录结构和正常项目相差无几. 官方开源插件地址 https://grails.org/plugins 内部插件地址 http://maven.info.bit.edu.cn 主要介绍了常用的一些插件吧,每个插件的用法不尽相同,但是有一个共同点是要在BuildConfig.groovy这个配置文件里 compile 相关插件. 常用的包括: 前端插