android学习1

来源:互联网 发布:apk软件安装器 编辑:程序博客网 时间:2024/05/29 06:34
原文地址:android学习1作者:客厅的大花儿

1.新建Android工程目录说明

gen文件夹

所有自动生成的文件包含在这里面,如R.java

R.java,Android Developer Tools自动创建这个文件,它提供访问Android应用程序的各种资源所需的常量。此文件是在构建时自动创建的,所以不要手工修改它,因为所有修改都会丢失。

res文件夹

Drawables

这个文件夹包含图形文件,比如图标和位图,drawable-xdpi(hdpi,ldpi,mdpi)分别对应不同分辨率的屏幕,hdpi对应的是800*480及以上,当你的应用程序安装到不同分辨率的机器上的时候他会到对应的文件夹中去读取。

Layouts

这个文件夹包含表示应用程序布局和视图的XML文件

Values

这个文件包含string.xml文件。这是为应用程序实现字符串本地化的主要方法

AndroidManifest.xml:示例应用程序的部署描述符

2.新建AVD,选项参数设置

MemoryOptions模拟器的运行内存大小类比电脑内存大小,就是在设置->应用程序中,正在运行标签页下面显示的那个大小

Internalstorage 模拟器内置存储空间大小,用于存放安装程序和程序数据的,就是在设置->应用程序中,其它标签页下面显示的那个大小

SDcard就不用解释了吧,就是SD卡存储空间大小

其它的一项一项来:

 

AVDName就是你模拟器的名称,在你建多个模拟器的时候用于区分用的

Device是根据一些实际手机配置提供的一些模拟器设置包括分辨率和运行内存大小。内置存储空间大小,可以不选,完全自己设置,也可以选了自己在改点数据

Target是选择模拟器的Android系统版本,你要在SDK Manage中下载对应系统版本的平台才可以选择。

CPU/ABI是根据你下载的系统镜像文件来的一般是arminter的会很快,但是配置有些麻烦,而且你的CPU不一定支持,具体你可以百度看下。

Front/BackCamera就是选择前后镜头设置,设置了其实也没什么用

那三个都解释过了。

VMheap 是设置VM缓存堆栈的大小,一般用默认的就好

Snapshot不清楚是干嘛的,Use Host GPU是使用电脑GPU的意思,一般两个都可以不选,希望可以帮到你。

3.访问控制

Java中,可以在类、类的属性及类的方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。

private:这是限制最严格的一个修饰符,使用这个关键字来限制的属性或者方法,只能在同一个类中被访问。也就是说,在这个类文件之外,这些属性或方法是被隐藏的。这个修饰符最常用于修饰类中的全局变量。注意,这个修饰符不能用在类前面。

Default:Default不是关键字,只是对类、类的属性及类的方法的访问权限的一种称呼。如果在类、类的属性、类的方法前面没有添加任何的修饰符,则说它的访问权限是default的。在这种情况下,只有类本身或者同一个包中的其他类可以访问这些属性或方法,而对于其他包中的类而言是不可以访问的。

protected:protected修饰符修饰的属性或方法,可以被同一个类、同一个包中的类子类访问。注意,这个修饰符不能用在类前面。

public:它是最宽松的一种限制,使用这个修饰符的类属性、类的方法可以被任何其他的类访问,无论这个类是否在同一个包中,以及是否是子类等。

4.super关键字

在从子类继承父类的过程中,可能需要在子类中调用父类中的成员,如属性、方法或者构造器这个时候,可以使用super关键字来完成super的作用是用于引用父类的成员,如属性、方法或者是构造器。

4.1调用父类构造器

直接用super()加上父类构造器所需要的参数,就可以调用父类的构造器了。如果父类中有多个构造器,系统将自动根据super()中的参数个数和参数类型来找出父类中相匹配的构造器。来看下面这个例子,类“FriendCard”继承了父类“Card”构造器中调用了父类的构造器:

源文件:friendCard.java

publicclass FiendCard extends Card{

 public FriendCard(String friendName){

  super(friendName);

}

//其他代码

}

FriendCard这个子类中,有一个构造器FriendCard(String friendName)里有一个super(friendName)的语句,意思是用参数friendName来调用父类的构造器,也就是说,如果调用FriendCard的构造器来构建一个对象,它将会调用父类的构造器来完成这个任务。父类必须自己负责初始化自己的状态而不是让子类来做,因此,如果子类的构造器中没有显示调用父类构造器,也没有在构造器中调用重载的其他构造器,则系统将会默认调用父类中无参数的构造器。所以,父类中必须定义无参的默认构造器,否则编译器将会报错。

4.2调用父类属性和方法

super.属性

super.方法()

例如,可以在FriendCard子类中通过下面的方式来调用父类中的方法:

super.getName();

5.AndroidTextView常用功能讲解

AndroidSDK的帮助文档API,默认在Android SDK安装目录的docsreferencepackages.html

TextView类在android.widget包中

TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android系统通过SpannableString类来对指定文本进行相关处理,

TextViewtv=new TextView(this);

Tv.setText(“这是一个测试AndroidHelloWorld”);

6.java,构造方法用this作为参数调用,怎么理解?

public class BirthDate{
        private int day=1

        private int month=1

        private int year=1900

  publicBirthDate(int day,int month,int year){
        this.day=day;
        this.month=month;
        this.year=year;
        }
  public BirthDate(BirthDay date){
         this.day=date.day;
         this.month=date.month;
        this.year=date.year;
   }
  public BirthDate addDays(int add_days){ 

        BirthDateotherDate=new BirthDate(this);     //构造方法用this作为参数调用
        otherDate.day=otherDay.day+add_days;
        return otherDate;      

}
}
至于第二句的this,指代该类的当前实例,由于这个类没有不带参数的构造函数,所以用类当前实例来调用带一个参数的构造函数。(其实就相当于调用了不带参数的空白构造函数);最后,将得到一个BirthDate的类型实例,从该函数返回。

this是当前类,当前对象,,的意思

这里的this传入的是当前类的对象,代表的就是当前这个类对象。

结论:this在哪个类里面,它就代表的是哪个类的对象的指针。

补充:

java this当作参数调用是怎么回事~!

我们正在学习手游这块.作了一个小游戏.!但有一个函数叫display只能用一次声明一次。其他的类要调用它。老师说用this把当前的对象传过去!!知道是那么回事了但不太明白!!请哪位哥哥姐姐帮下解释下~小弟刚学java不久!

Javathis的使用

java中的this随处可见,用法也多,现在整理有几点:

1. this是指当前对象自己。

当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用。如下面这个例子中:

public class Hello {

  String s ="Hello";

  public Hello(Strings)

  {

    System.out.println("s= " + s);

    System.out.println("1-> this.s = " + this.s);

    this.s =s;

    System.out.println("2-> this.s = " + this.s);

  }

  public static voidmain(String[] args) {

    Hello x="new"Hello("HelloWorld!");

  }

}

运行结果:

  s =HelloWorld!

  1 -> this.s= Hello

  2 -> this.s= HelloWorld!

2.this作为参数传递

当你要把自己作为参数传递给别的对象时,也可以用this。如:

public class A{

  public A(){

  newB(this).print();

  }

  public voidprint() {

  System.out.println("Hello from A!");

  }

  }

  public class B{

  A a;

  public B(A a){

  this.a =a;

  }

  public voidprint() {

  a.print();

  System.out.println("Hello from B!");

  }

  }

运行结果:

  Hello from A!

  Hello from B!

  在这个例子中,对象A的构造函数中,用newB(this)把对象A自己作为参数传递给了对象B的构造函数。

7. androideclipse 中怎么添加按钮触发

使用eclipse做完了一个helloworld程序,现在想添加一个按钮,点一下,让背景变换颜色,需要怎么做,请大侠给我一个详细的答案,小弟新手,关于怎么侦听,怎么触发都还不清楚,书上讲的太笼统
在哪个文件下加啊?

提问者采纳

首先在你的helloworld程序对应的layout配置文件(reslayout/下的XXX.xml文件)中添加一个按钮,具体代码如下

http://schemas.android.com/apk/res/android"
   android:id="@+id/layout"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">


   然后在你的继承Activity类的java类中添加按钮的事件监听以及事件处理,代码如下:
public class
你的helloworld类名extends Activity implements OnClickListener{
   
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.
你的layout文件名);

//
下面的代码用于为按钮注册一个监听
       findViewById(R.id.frame_layout).setOnClickListener(newOnClickListener() {
//
下面的代码用于处理按钮点击后的事件
           public void onClick(View v) {
//
下面的代码用于使背景变色               
findViewById(R.id.layout).setBackgroundColor(Color.BLUE);
           }
       });

   }

}

fragment_main.xmlactivity_main.xml文件

public class MyFirstHelloWorld extends Activity implements OnClickListener{

   public void onCreate(Bundle savedInstanceState)

   {

      super.onCreate(BundlesavedInstanceState);

      setContentVew(R.layout.activity_main);

      findViewById(R.id.frame_layout).set

   }

}

D:android-sdk_r16android-sdk-windowsplatform-tools

0 0
原创粉丝点击