Android学习笔记函数
//调用新的Activity
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
//读写配置文件
SharedPreferences mSharedPreferences=getSharedPreferences("config_name",MODE_PRIVATE);
xxxxx=mSharedPreferences.getString("config", "default");
mSharedPreferences.edit().putString("config", str).commit();
new AlertDialog.Builder(this).setTitle("请输入").setIcon(
android.R.drawable.ic_dialog_info).setView(
new EditText(this)).setPositiveButton("确定", null)
.setNegativeButton("取消", null).show();
弹出窗口提示
// new AlertDialog.Builder(this)
// .setTitle("提示")
// .setMessage("IP或者端口不能为空")
// .setPositiveButton("重新输入", null)
// .show();
弹出小提示 几秒后自动消失
Toast.makeText(getBaseContext(), "IP或者端口不能为", Toast.LENGTH_SHORT).show();
打开网页
Uri uri = Uri.parse("https://www.baidu.com");
Intent intent2 = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent2);
//安卓SOCKET类方法
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Socket_Android {
public String doSocket(String m_ip,int m_port,String str) {
String income="";
Socket sock = null;
try {
// 应用Server的IP和端口建立Socket对象
sock = new Socket(m_ip, m_port);
PrintWriter writer = new PrintWriter(sock.getOutputStream());
writer.println(str);
writer.flush();
InputStreamReader stream_reader = new InputStreamReader(sock.getInputStream());
BufferedReader reader = new BufferedReader(stream_reader);
char[] buff = new char[1024];
reader.read(buff);
int maxcount = 0;
for (int i = 0; i < buff.length; i++) {
if (buff[i] == 0) {
maxcount = i;
break;
}
}
char[] buff1 = new char[maxcount];
for (int i = 0; i < maxcount; i++) {
buff1[i] = buff[i];
}
income = new String(buff1);
reader.close();
System.out.println(income);
sock.close();
} catch (Exception e) {
e.printStackTrace();
}
return income;
}
}
//循环执行某个函数
final Handler m_handle = new Handler();
final Runnable m_runable = new Runnable() {
@Override
public void run() {
System.out.println("tttttttttttttttttttt");
m_handle.postDelayed(m_runable, 1000);
}
};
//初次调用
m_handle.postDelayed(m_runable, 1000);
//字符串转换
Integer.valueOf(port).intValue() String转INT
//线程更新UI
private Handler handler = new Handler();
private Runnable myRunnable= new Runnable() {
public void run() {
if (true) {
handler.postDelayed(this, 1000);
count++;
}
tvCounter.setText("Count: " + count);
}
};
调用
handler.post(myRunnable);
handler.post(myRunnable,time);
time is"1000"
//主界面手势循环
private GestureDetector detector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if ((e2.getRawX() - e1.getRawX()) > 80) {
showNext();
return true;
}
if ((e1.getRawX() - e2.getRawX()) > 80) {
showPre();
return true;
}
return super.onFling(e1, e2, velocityX, velocityY);
}
});
@Override
public boolean onTouchEvent(MotionEvent event) {
detector.onTouchEvent(event);
return super.onTouchEvent(event);
}
/**
* 当前页面索引
*/
int i = 0;
/**
* 显示下一个页面
*/
protected void showNext() {
// 三元表达式控制3个页面的循环.
tabHost.setCurrentTab(i = i == 2 ? i = 0 : ++i);
Log.i("kennet", i + "");
}
/**
* 显示前一个页面
*/
protected void showPre() {
// 三元表达式控制3个页面的循环.
tabHost.setCurrentTab(i = i == 0 ? i = 2 : --i);
}
}
//设置TabHost的高度
tabWidget = tabHost.getTabWidget();
for (int i = 0; i < tabWidget.getChildCount(); i++) {
tabWidget.getChildAt(i).getLayoutParams().height = 80;
tabWidget.getChildAt(i).getLayoutParams().width = 65;
TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(
android.R.id.title);
tv.setTextSize(15);
tv.setTextColor(this.getResources().getColorStateList(
android.R.color.white));
}
//定时跳转
Timer timer = new Timer();
TimerTask task = new TimerTask(){
@Override
public void run() {
Intent intent = new Intent(welcome.this, MainActivity.class);
startActivity(intent);
welcome.this.finish();
}
};
timer.schedule(task, 2000);
//定时更新UI
handler.post(myRunnable);
private Handler handler = new Handler();
private Runnable myRunnable= new Runnable() {
public void run() {
if (true) {
handler.postDelayed(this, 5000);
}
if (ExpirationDate!=null) {
String[] strarray = ExpirationDate.split("#");
m_ExpirationDatetextview.setText("到期时间:" + strarray[0]+" 剩余:"+strarray[1]+"天");
}
Toast.makeText(getBaseContext(), "定时更新UI", Toast.LENGTH_SHORT).show();
}
};
//异步方法
private class MyTask extends AsyncTask<String, Integer, String> {
//onPreExecute方法用于在执行后台任务前做一些UI操作
@Override
protected void onPreExecute() {
}
//doInBackground方法内部执行后台任务,不可在此方法内修改UI
@Override
protected String doInBackground(String... params) {
String str = m_SocketConnection.doSocket(m_ip,
Integer.valueOf(m_port).intValue(),
"<HTML><CMD>1007</CMD><SORT>"+params[0]+"</SORT><IP></IP><HOSTIP>192.168.1.237</HOSTIP><VERSION>2.0.3</VERSION><MD5>31b3b31a1c2f8a370206f111127c0dbd</MD5></HTML>");
cdmstr=params[0];
return str;
}
//onProgressUpdate方法用于更新进度信息
@Override
protected void onProgressUpdate(Integer... progresses) {
}
//onPostExecute方法用于在执行完后台任务后更新UI,显示结果
@Override
protected void onPostExecute(String result) {
if (result!=null) {
JSONArray arr = m_tools.GetJson(result);
strarr = new String[arr.length()];
strarr[0] = "null";
try {
for (int i = 0; i < arr.length(); i++) {
strarr[i] = arr.get(i).toString();
System.out.println("----------------" + strarr[i]);
}
} catch (JSONException e) {
e.printStackTrace();
}
AlertDlg(strarr);
}
else{
Toast.makeText(getBaseContext(), "查询异常", Toast.LENGTH_SHORT).show();
}
}
//onCancelled方法用于在取消执行中的任务时更改UI
@Override
protected void onCancelled() {
}
}
private MyTask mTask;
mTask = new MyTask();
mTask.execute("10011");
//判断数值的合法性
Pattern p = Pattern.compile("[0-9]*");//数字
Matcher m = p.matcher(inputName);
if(m.matches())
p=Pattern.compile("[a-zA-Z]"); //字母
p=Pattern.compile("[\u4e00-\u9fa5]"); //汉字
//带图片的小提示
Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast", 5000);//显示5秒钟
toast.setGravity(Gravity.CENTER, 0, 0);
//创建图片视图对象
ImageView imageView= new ImageView(getApplicationContext());
//设置图片
//imageView.setImageResource(R.drawable.);
//获得toast的布局
LinearLayout toastView = (LinearLayout) toast.getView();
//设置此布局为横向的
toastView.setOrientation(LinearLayout.HORIZONTAL);
//将ImageView在加入到此布局中的第一个位置
toastView.addView(imageView, 0);
toast.show();
//安卓启用新线程
//加载网络动态图片
new Thread(new Runnable() {
@Override
public void run() {
}
}).start();
Android学习笔记函数的更多相关文章
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- udacity android 学习笔记: lesson 4 part b
udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...
- 【转】 Pro Android学习笔记(八八):了解Handler(2):什么是Handler
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 之前我们有一篇很好的博文<Andro ...
- 【转】 Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件
目录(?)[-] 在AIDL中定义服务接口 根据AIDL文件自动生成接口代码 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.n ...
- 【转】 Pro Android学习笔记(七七):服务(2):Local Service
目录(?)[-] Local service代码 调用Local ServiceLocal Service client代码 AndroidManifestxml定义Serviceacitivty的l ...
- 【转】 Pro Android学习笔记(七五):HTTP服务(9):DownloadManager
目录(?)[-] 小例子 保存在哪里下载文件信息设置和读取 查看下载状态和取消下载 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog.csd ...
- 【转】 Pro Android学习笔记(五六):配置变化
目录(?)[-] Activity的destorycreate过程 Fragment的destorycreate过程 onSaveInstanceState saveFragmentInstanceS ...
- 【转】 Pro Android学习笔记(五一):ActionBar(4):标准和Tab模式
之前,我们学习的Action Bar是标准模式,Tab模式的如下图所示. 对于Tab,我们在Android学习笔记(二二): 多页显示-Tag的使用中学习过,但Action Bar的tab更适合fra ...
- 【转】 Pro Android学习笔记(五二):ActionBar(5):list模式
可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和 ...
随机推荐
- 二项分布和Beta分布
原文为: 二项分布和Beta分布 二项分布和Beta分布 In [15]: %pylab inline import pylab as pl import numpy as np from scipy ...
- Linux rsync网站目录同步功能的实现
实现目标: 172.16.1.64服务器上的/var/www/sw_service目录,与172.16.1.60服务器上的/var/www/sw_service目录实现同步, 即1.60主动向1.64 ...
- Yocto开发笔记之《网卡配置》(QQ交流群:519230208)
QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ============================================== # ifconfig -a # ...
- 京东分布式MySQL集群方案介绍
背景 数据库作为一个非常基础的系统,任何一家互联网公司都会使用,数据库产品也很多,有Oracle.SQL Server .MySQL.PostgeSQL.MariaDB等,像SQLServer/Ora ...
- 如何保存联系人到系统通讯录(android)
1 效果演示: 2 代码演示:
- select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
http://hi.baidu.com/%B1%D5%C4%BF%B3%C9%B7%F0/blog/item/e7284ef16bcec3c70a46e05e.html select函数用于在非阻塞中 ...
- Python MySQLdb在Linux下的快速安装
在家里windows环境下搞了一次 见 python MySQLdb在windows环境下的快速安装.问题解决方式 http://blog.csdn.NET/wklken/article/deta ...
- Java关键字——super
使用super关键字可以从子类中调用父类中的构造方法.普通方法和属性 与this调用构造方法的要求一样,语句必须放在子类构造方法的首行 this和super都可以调用构造方法,但是两者不能同时出现,调 ...
- 调用startActivityForResult,onActivityResult无响应的解决办法
三种情况: 1.执行startActivityForResult,没等到被调用的 Activity 返回,onActivityResult() 就被执行了.找了很久,终于通过小道消息得知,这与 Act ...
- hasClass addClass removeClass
//函数有class function hasClass(ele,cls){ return -1<(" "+ele.className+" ").inde ...