android:layout_width="fill_parent":表示水平包裹元素
android:layout_width="wrap_content":表示按照元素的大小包裹元素
android:layout_height="wrap_content":表示元素的高度,同样还有:fill_parent
android:text="@string/call":表示显示的文本信息。@string表示调用values文件夹中的strings.xml中定义的call的值。
android:layout_gravity="right":表示线性布局元素的显示的位置。这里表示右侧
android:gravity="left|top"
android:id="@+id/btnSend":为元素添加唯一的表示符id. @表示R.java,其中id最后会成为R的内部类。+:表示添加的意思。这个id的值为btnSend.
android:layout_weight="1":表示占有的比重,如果其他的没有写这一行,只有这个元素设置的有时,则这个元素将填充剩余的空间。
Android中的测试的写法:
如果要为Android程序写测试类,则要让这个类继承:AndroidTestCase
写日志的方法时:Log.i("TestLog", "this is info log");
重要些的内容是:
AndroidManifest.xml中要写上:
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<!-- 使用测试类库,如果写测试这一句必须写上 -->
<uses-library android:name="android.test.runner" />
......
</application>
<!-- 声明测试组件,targetPackage必须和声明包相一致 -->
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="cn.itcast.baseapp"
android:label="Tests for My App" />
<uses-sdk android:minSdkVersion="8" />
<!-- 声明如果是打电话程序要设置打电话的权限 -->
<uses-permission android:name="android.permission.CALL_PHONE" />
<!-- 如果是发短信的程序,要声明发送短信的权限-->
<uses-permission android:name="android.permission.SEND_SMS" />
</manifest>
如果为某个Button设置按钮的话,需要实现View.OnClickListener
以下是发短信和打电话应用中的部分代码。
public class MainActivity extends Activity {
private EditText etPhoneNumber;
private EditText etSmsContent;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置内容视图
setContentView(R.layout.main);
//表示从R类中取出id为etPhoneNumber的元素
etPhoneNumber = (EditText) findViewById(R.id.etPhoneNumber);
//短信内容
etSmsContent = (EditText) findViewById(R.id.etSmsContent);
//按照id查询view空间
Button btnCall = (Button) findViewById(R.id.btnCall);
Button btnSend = (Button) findViewById(R.id.btnSend);
ButtonListener l = new ButtonListener();
//为呼叫和发送按钮增加点击监听
btnCall.setOnClickListener(l);
btnSend.setOnClickListener(l);
}
/**
* 按钮监听器内部类
*/
class ButtonListener implements View.OnClickListener{
public void onClick(View v) {
//取得控件的id
int id = v.getId();
//取得电话号码
String phoneNumber = etPhoneNumber.getText().toString();
//取得短信内容
String smsContent = etSmsContent.getText().toString();
//打电话
if(id == R.id.btnCall){
//请帮我打个电话
Intent i = new Intent();
//设置动作名称
i.setAction(Intent.ACTION_CALL);
//设置数据
i.setData(Uri.parse("tel:" + phoneNumber));
//开始活动
startActivity(i);
}
//发短信
else if(id == R.id.btnSend){
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage(phoneNumber, null, smsContent, null, null);
Toast toast = Toast.makeText(MainActivity.this, "发送完成", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP, 20, 50);
toast.show();
System.out.println("send 完成");
}
}
}
}