安卓软件布局:
Res文件夹: 资源文件 layout是可视化UI窗口。对每一个Activity的java文件对应一个.xml文件。拖入控件并绑定ID号。 drawable里放置图片,raw里放置声音,
src文件夹: 代码文件 .java文件在这里。在Activity子类中可编写与res中ID对应的相应事件(见UI界面控件响应)
gen文件夹: R.java 这个文件为每个res里的资源分配一个内存编号
最外面有个 AndroidManifest.xml 配置文件。 安卓程序的许可在这里声明
每个activity.java也要在这里有声明,才能成功跳转
AndroidManifest.xml配置:
联网许可:<uses-permission android:name="android.permission.INTERNET" />
输入输出控制:
System.out.println("Value = " + val);
对于android程序System.out.println 不在控制台显示。设置方法: LogCat->绿色加号 :Filter Name 和 by Log Tag 都设置为 System.out 才能在logcat里看到
UI界面控件响应(Activity机制):
public voidstartOtherActivity(Class claz) {
Intentintent = newIntent();
intent.setClass(this, claz);
startActivity(intent);
}
public classMainActivity extends Activity{
private Button mButtonLockScrren;//程序中的变量名
protected void onCreate(Bundle savedInstanceState) {
//创建onCreat函数,函数里是对控件的响应
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //在R(android中所有UI文件都在R中)中找到控件所在UI界面的xml文件名。
mButtonLockScrren= (Button) findViewById(R.id.buttonLockScreen); //找到控件,buttonLockScreen UI界面里的ID号,返回到mButtonLockScrren中
mButtonLockScrren.setOnClickListener(new OnClickListener() {
//设置鼠标单击响应事件
public void onClick(View v) {
System.out.println("lister success ");
startOtherActivity(SettingActivity.class); //再开启另一个名为SettingActivity的窗口
}}}}
C/S通信(TCP协议通信):
服务器端:
Try{
While(true){
ServerSocket ss=newServerSocket(1987); //监听端口(没有连通监听就阻塞)
Socket socket=ss.accept(); //connectsuccess
DataInputStream in=newDataInputStream(socket.getInputStream());//输入输出流
DataOutputStream out=newDataOutputStream(socket.getOutputStream());
String oo=in.readUTF(); //读取数据
..
Socket.close();
ss.close();
in.close();
out.close();
}
}catch(IOExeption e){
e.printStackTrace();
}
客户端:
publicclassconnectPC extendsActivity implementsRunnable{
new Thread(connectPC.this).start();//必须开一个子线程thread,继承Runnable接口thread会调用run()方法
}
public voidconnectToserver(){
try{
//建立一个socket通信端口
Socket socket=newSocket("10.13.29.140",1987);
DataOutputStreamout=newDataOutputStream(socket.getOutputStream());
DataInputStreamdin=newDataInputStream(socket.getInputStream());
//通过输出流发出数据
out.writeUTF("lock_screen");
socket.close();
din.close();
out.close();
}catch (UnknownHostExceptione){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
public void run() {
connectToserver();
}
添加软件启动动画
1. .xml中添加<ImageView
android:id="@+id/welcome_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/welcome"></ImageView>
2. Activity(.java)中添加
private ImageView welcomeImg = null;
welcomeImg = (ImageView) this.findViewById(R.id.welcome_img);
AlphaAnimation anima = new AlphaAnimation(0.3f,1.0f);
anima.setDuration(3000);// 设置动画显示时间
welcomeImg.startAnimation(anima);
anima.setAnimationListener(new AnimationImpl());