😊
要点
字符串操作
substring():截取子串
indexOf(" : "): 定位符
居中
- 文字在控件居中
android:gravity="center_horizontal"
- 控件在layout居中
android:layout_gravity="center_horizontal\vertical"
与父级容器的水平/竖直排列方向相反
控件
Textview
EditText
设置文本:setText在这里插入代码片
//获取文本
EditText editText1 =(EditText) findViewById (R.id.editText1);
c=Integer.parseInt(editText1.getText().toString());
最好使用ImageView,而不是ImageButton
最好使用Recyclerview,而不是ListView
页面跳转与关闭
- 跳转
// 发送
ImageButton bn_edit = (ImageButton)view.findViewById(R.id.imageButton_edit);
bn_edit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent=new Intent();
Bundle bundle=new Bundle();
bundle.putSerializable("inform",inform);//序列化对象
intent.putExtras(bundle);
intent.setClass(getContext(),editinform.class);
//启动
getContext().startActivity(intent);
((Activity)getContext()).finish();//finish();
}
});
//接收
Intent intent=getIntent();
Bundle bundle = i.getExtras();
bundle.getString("extras",default)//获取指定字符串的extras,若为空则指定默认值
userName =intent.getStringExtra("userName");
//获取传入的medicine对象
medicinedemo = (medicine) getIntent().getSerializableExtra("Medicine");
- 直接关闭activity :
finish();
- 在adapter里面关闭当前的activity
//从不是activity获取上下文后 在关闭
((Activity)getContext()).finish();
调试打印工具
在onCreate()方法外面输入logt,然后按下TAB键,这时就会以当前的类名作为值自动生成一个TAG变量,然后在输入logd,按TAB生成级别为debug的打印日志
(有5种打印级别,在logcat查看、过滤)
Adapter
Listview 与Adapter绑定,实现展示列表,使用searchview,实现实时搜索
Adapter更改构造方法传参,自定义Adapter 自定义对象传入下一个activity要进行serializable序列化,注意,所有涉及的对象都要implements serializable,一个类里面可能有list也要继承
时间表达
Date日期类
Time时间类
Datetime日期时间类
Timestamp类(带时区)
在用DateTimematter格式化时间,时间也可以直接用字符串表示
-
数据库存储:
oracle:使用Datetime存储
SQlite:使用integer建表存储时间戳,用new Date().getTime()存入,取出时,再转为Date类型Date date = new Date(cursor.getLong(i)); -
参考:
//对Android手机系统日历数据增删改查操作
https://blog.youkuaiyun.com/wenzhi20102321/article/details/80644833?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase
//计算两个时间戳的差值,以字符串的形式表示
public static String getDistanceTime(long time1,long time2 ) {
long day = 0;
long hour = 0;
long min = 0;
long sec = 0;
long diff ;
String flag;
if(time1<time2) {
diff = time2 - time1;
flag="前";
} else {
diff = time1 - time2;
flag="后";
}
day = diff / (24 * 60 * 60 * 1000);
hour = (diff / (60 * 60 * 1000) - day * 24);
min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);
sec = (diff/1000-day*24*60*60-hour*60*60-min*60);
if(day!=0)return day+"天"+flag;
if(hour!=0)return hour+"小时"+flag;
if(min!=0)return min+"分钟"+flag;
return "刚刚";
}
使用TimePicker、DatePicker
参考:https://blog.youkuaiyun.com/qq_37217804/article/details/80538209
布局
最好使用Relativelayout(相对布局,尺寸适应性强),LinearLayout(线性布局,方便对齐)、不要随意自己拉框,框架套框
页眉页脚
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Header aligned to top -->
<RelativeLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="#AFA7EF"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="Header"
android:textColor="#000000"
android:textSize="20sp" />
</RelativeLayout>
<!-- Footer aligned to bottom -->
<RelativeLayout
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#6AED83"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="Footer"
android:textColor="#000000"
android:textSize="20sp" />
</RelativeLayout>
<!-- Content below header and above footer -->
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/footer"
android:layout_below="@id/header"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Content goes here"
android:textColor="#FFFFFF"
android:textSize="20sp" />
</RelativeLayout>
</RelativeLayout>
https://blog.youkuaiyun.com/jasoncol_521/article/details/12556473