我又双叒叕地来更新学习记录了>*.*<,but ,to be honest,i have not work hard in study at this week.Last week,i study hard for my dream which study in the lab,and i study very late with happy and pleasure.The results is good,i came true my dream for a while,i pass the first examination and go on test.However,this week i even have not open my computer...oh ,how awful.There is a old say"work hard and make progress everday",so keeping programming everyday and make a sumit.
下面是我第一次写一个Android项目的代码:
Firstactivity.java:
package com.example.asus.test20;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;//ps:这段是AS自动生成不需要自己写
public class FirstActivity extends AppCompatActivity {
private String[] data = { "Lionel", "Ronaldo", "Neymar", "Sane", "Will", "Bale", "Kane", "Alice", "Bob", "Candy",
"Dall", "Eason", "Fill", "LuoPing", "Henry", "Backhanm" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.first_layout);
Button button1=(Button)findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
/*Toast.makeText(FirstActivity.this,"刷新消息中,请稍后...", Toast.LENGTH_SHORT).show();这一句是用来toast用,但我为了intent所以注释掉*/
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent); } });
ArrayAdapter<String>adapter=new ArrayAdapter<String>( FirstActivity.this,android.R.layout.simple_list_item_1,data); ListView listView=(ListView)findViewById(R.id.list_view); listView.setAdapter(adapter); }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
/*
* public boolean function1(int a){ getMenuInflater().inflate(R.menu.main,menu);
* return true; }
*/ @Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.创建群聊:
Toast.makeText(this, "请选择好友", Toast.LENGTH_SHORT).show();
break;
case R.id.添加好友或群:
Toast.makeText(this, "请输入号码", Toast.LENGTH_SHORT).show();
break;
case R.id.扫一扫:
Toast.makeText(this, "请打开相机", Toast.LENGTH_SHORT).show();
break;
case R.id.面对面快传:
Toast.makeText(this, "请打开WiFi", Toast.LENGTH_SHORT).show();
break;
case R.id.pay_item:
Toast.makeText(this, "请确认指纹或密码", Toast.LENGTH_SHORT).show();
break;
case R.id.拍摄:
Toast.makeText(this, "请打开相机并长按", Toast.LENGTH_SHORT).show();
break;
case R.id.高能舞室:
Toast.makeText(this, "这是一个新功能", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
}
// 这是第一个activity的代码,主要我定义了一个button,一个menu,一个ListView控件;
first_layout.xml的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="搜索"/>
<ListView android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
</LinearLayout>
//这里主要是设置了一个button和listview的标签
下面看我们刚刚定义的menu的文件:
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/创建群聊" android:title="创建群聊"/>
<item android:id="@+id/添加好友或群" android:title="添加好友或群"/>
<item android:id="@+id/扫一扫" android:title="扫一扫"/>
<item android:id="@+id/面对面快传" android:title="面对面快传"/>
<item android:id="@+id/pay_item" android:title="付款"/>
<item android:id="@+id/拍摄" android:title="拍摄"/>
<item android:id="@+id/高能舞室" android:title="高能舞室"/>
/*总结:item标签用来创建具体的某一个菜单项; 然后定义一个唯一的id; 最后用title写可见的名字*/</menu>
//这一段主要是描述了menu中的一些菜单子项,在我看来可以理解为标签化语言,但是menu有一点点不同于button等,它相当于是自成一个,有一个额外的menu文件来存放它的布局文件,或者说标签化语言
SecondActivity.java:
package com.example.asus.test20;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
}
}
// 这一个activity主要是定义了一个第二个layout
看第二个布局的代码:
second_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent">
<EditText android:id="@+id/input_message"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="输入查找"/>
<Button android:id="@+id/button_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="取消"/></LinearLayout>
//这个也只是很简单地定义了一个一个EditText和一个Button
可以发现一个规律,基本上layout只是用来标签化写布局的,也就是说只是仅仅用来声明,而其实现其一些特定的功能,例如toast,toastText等是在.java中写的。PS:intent是个好东西可以通过这个来跳到下一个activity!
注意其实 .xml并不能说理解成标签化语言,我目前粗略这么理解,嘻嘻,希望没差
app在我手机上运行大致如下(只能看得到布局):
OK,over!