最初笔记

添加按钮:

<Button

   android:layout_width="fill_parent"(可以用像素 dip,如100dip表示宽100像素,fill_parent为铺满,wrap_content为适应文本大小)

   android:layout_height="wrap_content"

   android:text="@string/continue_label"/后的为变量名功能为按钮显示的名称,continue_label值在res/values/strings.xml里定义,为<stringname="continue_label">继续</string>

/>

 

背景颜色:

android:background="@color/background"(变量background的值在res/values/color.xml里定义,为<colorname="background">#3500ffff</color>

 

 

 

输入框:

 <EditText

   android:id="@+id/edittext"

   android:layout_width="fill_parent"

   android:layout_height="wrap_content"

    />

 

 

 

方向:

android:orientation="vertical"vertical为垂直,horizontal为水平)

 

 

对齐:

android:layout_gravity="center"(居中对齐)

 

 

字体大小:

android:textSize="24.5sp"

 

在JAVA代码中重新设置layout的参数:

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, LayoutParams.WRAP_CONTENT);

//RelativeLayout代表当前要设置的layout的父layout类型;
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
btnNetworkHeadPortrait.setLayoutParams(params);

 

布局视图:

<Scrollview>(此为滚动视图)</Scrollview>

 

重写back键:

@Override下方重写方法:publicvoid onBackPressed(){}

 

 

AndroidMainfest.xml中的主题使用:

android:theme="@android:style/Theme.Dialog"(对话模式主题)

 

重写menu键:

publicboolean onCreateOptionsMenu(Menumenu){  //使用菜单键

       menu.add(0,0,0,R.string.menu_open);   //第一个0是识别码,第二个0是id,第三个0是菜单顺序

       return super.onCreateOptionsMenu(menu);

    }

    public booleanonOptionsItemSelected(MenuItem item){

       switch(item.getItemId()){

       case 0:

           return true;

       }

       return super.onOptionsItemSelected(item);

}

 

 

 

 

创建新布局活动:

1、新建一个新的活动布局;

2、新建一个新的活动类;

3、在旧活动中以一个事件来启动新活动;(如点击某按钮)

启动新活动代码:Intent i=new Intent(this,newlayout.class);

               startActivity(i);(要想在Android中启动某个活动,首先需要创建Intent类的实例)

4、在AndroidManifest.first.xml中的第一个活动的结束标记之后添加新的<activity>标记:

<activityandroid:name=".newlayout(新建的活动类)"

Android:label="@string/new_layout">

</activity>

 

 

连接网络:

去AndroidManifest.xml中 把

<uses-permission android:name="android.permission.INTERNET"></uses-permission>設定進xml

 

 

自适应屏幕:

Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
  
需要在res目录下创建不同的layout文件夹,layout-640x360,layout-800x480,ayout-854x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。

隐藏状态栏与标题栏:

1、代码设置

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);  

//隐去电池等图标和一切修饰部分(状态栏部分)   

this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

// 隐去标题栏(程序的名字)  

 setContentView(new MyView(this));  

2、设置 AndroidManifest.xml  application 样式

android:theme="@android:style/Theme.NoTitleBar"隐去标题栏android:theme="@android:style/Theme.NoTitleBar.Fullscreen"隐去状态栏

 

横屏竖屏:

只需要在AndroidManifest.xml中对Activity属性进行设置

android:screenOrientation="landscape"表示始终横屏;

android:screenOrientation="portrait"表示始终竖屏;

 

 

 

Bitmap resource = BitmapFactory.decodeResource(this.getResources(), R.drawable.png);      

 Bitmap bitmap = Bitmap.createBitmap(resource, 0, 0, 100, 100);   

其中R.drawable.png为图片,Bitmap.createBitmap方法中的五个参数意义分别为:
需要切割的图片资源(bitmap)、 切割起始点的X坐标、 切割起始点的Y坐标、 切割多宽、切割多高。

 

设置图片可见:

Img3.setVisibility(img3.VISIBLE);【不可见是INVISIBLE








强制类型转换:

强制转换为String类型:String b=String.valueOf(a);

如double a=1.1;String b=String.valueOf(a);

String强制转换为int类型:String test=”123”;

int i=Integer.parseInt(test);

int强制转换为String类型:int x=1;

String test=Integer.toString(x);

 

 

Float转int:

float y = 1.5;

int yy=(int)y;//强制转换为int,yy=1;

 

String截取:

substring(int beginIndex) 
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)
substring(int beginIndex, int endIndex)
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
 
 

控制鼠标移动:

try {

Robot robot = new Robot();

for(int i=0;i<700;i++){

robot.delay(50);

robot.mouseMove(100,i);}

} catch (AWTException e) {

e.printStackTrace();

}}

 

 

 

Socket长连接:

一、

             import java.net.*;   

             import java.io.*;  

             public class Jserver2{  

             private BufferedReaderreader; //负责输入  

             private ServerSocketserver; //服务器套接字  

             private Socket socket;  //套接字  

             public Server2(){}//缺省构造函数  

             void startServer()//启动服务器  

             {  

             try  

             {  

             server=new ServerSocket(719);  //创建服务器套接字  

             System.out.println("服务器套接字建立完毕");  

             while(true)  

             {  

             System.out.println("等待客户端GG");  

             socket=server.accept(); //若客户端GG提出连接请求,与socket连接  

             System.out.println("完成与客户端的连接");  

             reader=newBufferedReader(new InputStreamReader(socket.
getInputStream(),"UTF-8")); //获取socket输入流,“utf-8”
这个编码设置是为了更好显示中文  

             getMessage();//读取来自客户端的数据,并输出至画面上  

             }  

             }catch(Exception e)  

             {  

             System.out.println(e);  

             }finally{  

             try  

             {  

             if(server!=null)server.close();//关闭服务器套接字。  

             }catch(IOExceptionie){}  

             }  

             }  

             void getMessage()//读取来自套接字的信息  

             {  

             try  

             {  

             while(true)  //循环  

             {  

             System.out.println("客户端GG说:"+reader.readLine());  

             }  

             }catch(Exception e){}  

             finally{  

             System.out.println("客户端中断连接");  

             try  

             {  

             if(reader!=null)reader.close(); //关闭套接字的输入流  

             if(socket!=null)socket.close();//关闭套接字  

             reader=null;  

             socket=null;  

             }catch(Exception e){}  

             }  

             }  

             public static voidmain(String[] args)  

             {  

             Server2 server=newServer2();  

             server.startServer();  

             }  

             }

//传过来的reader.readLine(),只能读取一次。

 

 

二、

import java.awt.AWTException;

import java.awt.Robot;

import java.io.*;

import java.net.*;

public class ATM {

public static void main(String[] args)throws IOException {

ServerSocket serversocket=null;

try{

    serversocket=new ServerSocket(9999);

}

catch(IOException e){

    System.err.println("Could not");

    System.exit(1);

}

Socket clientsocket=null;

try{

    System.out.println("等待");

    clientsocket=serversocket.accept();

    System.out.println("已连接");

 

}

catch(IOException e){

    System.err.println("连接失败");

}

    Parse p=new Parse(clientsocket);

    p.run();

    clientsocket.close();

    serversocket.close();

}

}

class Parse extends Thread

{

    private BufferedReaderin=null;

    int x,y,xy=0;

    String read;

    boolean notclose=true;

    Socket client=null;

   public Parse(Socket client) {

        this.client = client;

    }

   public void setnotclose(boolean n){

       notclose=n;

   }

@Override

public void run() {  //新建一个线程

    try{

       while(notclose){    //一直监听才不会导致连接断开

 in = new BufferedReader(new InputStreamReader(client.getInputStream(),"UTF-8"));

 shubiao(in.readLine());

 }

       }

    catch(Exception e){

    }

    }}

 

 

线程:class threadextends Thread

{

   public thread() {

}

@Override

public void run() {  }//新建一个线程

}

//开启线程:

thread t=new thread();

t.start();//必须用start才可开启线程,即开启run()方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值