Android开发入门

一, 配置开发环境

www.android.com 下载ADT工具包和SDK

在eclipse中安装插件,下载各个版本的安卓包

 

二, 建立android project后,首先对res/layout目录下的main.xml进行配置,设置布局

       一般汉字放在res/values/strings.xml文件中,便于国际化

       图像资源放在res/drawable-hdpi/目录下

       配置这些文件保存后悔在gen包里自动生成一个R类,用于存放各种资源的ID

       获取资源的id的方法有R.XX.XX;

       在main.xml文件中获取资源ID为android:text="@string/buttonread"

    设置资源ID方法为android:id=”@+id/filename”

    在第一个布局中要绑定URI

三.junit测试要配置AndroidManifest.xml文件

在</activity/>后添加<uses-library android:name="android.test.runner"/>

</application>后添加

<instrumentation android:name="android.test.InstrumentationTestRunner"

        android:targetPackage="com.itheima.test"

        android:label="Tests for MyApp"/>

测试的类要继承AndroidTestCase

输出日志最好用Log.i(TAG, "www.itheima.com");

 

四. 操作文件

往SD卡中读写数据需要出示的权限

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

package com.itheima.service;


import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import android.content.Context;

public class FileService {
	private Context context;
	public FileService(Context context) {
		this.context = context;
	}
	
	public void save(String filename, String filecontent) throws IOException {
		FileOutputStream out = context.openFileOutput(filename, Context.MODE_PRIVATE);
		out.write(filecontent.getBytes());
		out.close();
		
	}
	//读取方法
	public String read(String filename) throws IOException{
		FileInputStream in = context.openFileInput(filename);
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		byte[] buf = new byte[1024];
		int len = 0;
		while((len = in.read(buf)) != -1){
			out.write(buf, 0, len);
		}
		byte[] data = out.toByteArray();
		return new String(data);
	}
}




package com.itheima.files;

import java.io.IOException;

import com.itheima.service.FileService;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button = (Button) this.findViewById(R.id.button);
        Button buttonread = (Button) this.findViewById(R.id.buttonread);
        button.setOnClickListener(new ButtonClickListener());
        buttonread.setOnClickListener(new ButtonreadClickListener());
        
    }
    
    private final class ButtonClickListener implements View.OnClickListener{

		public void onClick(View v) {
			EditText filenameText = (EditText) findViewById(R.id.filename);
			EditText filecontentText = (EditText) findViewById(R.id.filecontent);
			String filename = filenameText.getText().toString();
			String filecontent = filecontentText.getText().toString();
			FileService service = new FileService(getApplicationContext());
			try {
					
				if(filename==null || filename.trim().equals("")){
						Toast.makeText(getApplicationContext(), R.string.kong, 1).show();
					}
					else{
						service.save(filename,filecontent);
						Toast.makeText(getApplicationContext(), R.string.success, 1).show();
					}
				
			} catch (IOException e) {
				Toast.makeText(getApplicationContext(), R.string.fail, 1).show();
			}
		}
    	
    }
    private final class ButtonreadClickListener implements View.OnClickListener{
    	
    	public void onClick(View v) {
    		EditText filenameText = (EditText) findViewById(R.id.filename);
    		EditText filecontentText = (EditText) findViewById(R.id.filecontent);
    		String filename = filenameText.getText().toString();
    		//String filecontent = filecontentText.getText().toString();
    		FileService service = new FileService(getApplicationContext());
    		try {
    			
    			if(filename==null || filename.trim().equals("")){
    				Toast.makeText(getApplicationContext(), R.string.kong, 1).show();
    			}
    			else{
    				String filecontext = service.read(filename);
    				filecontentText.setText(filecontext);
    				Toast.makeText(getApplicationContext(), R.string.readsuccess, 1).show();
    			}
    			
    		} catch (IOException e) {
    			Toast.makeText(getApplicationContext(), R.string.readfail, 1).show();
    		}
    	}
    	
    }
}


 

五. 拨号功能和短信功能,需要向用户出示权限

在AndroidManifest.xml中添加

<uses-permission android:name="android.permission.CALL_PHONE"/>

 

<uses-permission android:name="android.permission.SEND_SMS"/>

 


package com.itheima.sms;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.gsm.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class SmsActivity extends Activity {
   private EditText numberText;
   private EditText contentText;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        numberText = (EditText) this.findViewById(R.id.number);
        contentText = (EditText) this.findViewById(R.id.message);
        Button button = (Button) this.findViewById(R.id.button);
        button.setOnClickListener(new ButtonClickListener());
    }
    
    private final class ButtonClickListener implements View.OnClickListener{

		@Override
		public void onClick(View v) {
			String number = numberText.getText().toString();
			String content = contentText.getText().toString();
			SmsManager manager = SmsManager.getDefault();
			ArrayList<String> texts = manager.divideMessage(content);
			for(String text:texts){
				manager.sendTextMessage(number, null, text, null, null);
			}
			Toast.makeText(SmsActivity.this, R.string.success, Toast.LENGTH_LONG).show();
		}
    	
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值