1.SQLite数据库查询
查询所有行:
public String[] getNumByTime(String time){
Cursor cursor = mSQLiteDatabase.query(TABLE_NAME, new String[]{"num"},"date=?",new String[]{time},
null ,null ,null );
List<String> num=new ArrayList<String>();
while(cursor.moveToNext()){
num.add(cursor.getString(cursor.getColumnIndex("num")));
}
String[] num1=new String[num.size()];
for(int i=0;i<num.size();i++){//ArrayList转数组
num1[i]=num.get(i);
}
return num1;
}
查询一行:
public String[] getSubjectByNum(String num){
Cursor cursor = mSQLiteDatabase.query(TABLE_NAME, new String[]{"date","subject","answer"},"num=?",new String[]{num},
null ,null ,null );
String[] sub=new String[3];
cursor.moveToNext();
sub[0]=cursor.getString(cursor.getColumnIndex("date"));
sub[1]=cursor.getString(cursor.getColumnIndex("subject"));
sub[2]=cursor.getString(cursor.getColumnIndex("answer"));
return sub;
}
2.聊天ListView,在activity清单中添加
android:windowSoftInputMode="adjustPan",键盘会遮挡部分控件,
布局:
<LinearLayout....>
<LinearLayout...>
</LinearLayout>
<ListView
android:layout_weight="1"....></ListView>
<LinearLayout....
</LinearLayout>
</LinearLayout>可保证键盘不遮挡任何控件。
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
ListView中添加以上两个属性是滚动条自动滑到底端。
3.水平滚动布局,
hsv.fullScroll(HorizontalScrollView.FOCUS_RIGHT); 使滚动条自动滚到最右端。
4.Activity全屏:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
}
5.Uri转path:
String parseFilePath(Uri uri) {
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(uri, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex); cursor.close();
return picturePath;
}
6.侧滑菜单全屏滑动:
public static void setDrawerLeftEdgeSize(Activity activity,
DrawerLayout drawerLayout, float displayWidthPercentage) {
if (activity == null || drawerLayout == null)
return;
try {
Field leftDraggerField = drawerLayout.getClass().getDeclaredField(
"mLeftDragger");
leftDraggerField.setAccessible(true);
ViewDragHelper leftDragger = (ViewDragHelper) leftDraggerField
.get(drawerLayout);
Field edgeSizeField = leftDragger.getClass().getDeclaredField(
"mEdgeSize");
edgeSizeField.setAccessible(true);
int edgeSize = edgeSizeField.getInt(leftDragger);
DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
edgeSizeField.setInt(leftDragger, Math.max(edgeSize,
(int) (dm.widthPixels * displayWidthPercentage)));
} catch (NoSuchFieldException e) {
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
}
}
7.沉浸式状态栏:style.xml文件中添加
<item name="android:windowTranslucentStatus">true</item>