团队冲刺第二阶段01
徐姣美:今天计划完善密码设置的内容,完成了密码设置的布局。较第一阶段的内容添加了密保问题。
代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:pixlui="http://schemas.android.com/apk/com.neopixl.pixlui" android:layout_width="match_parent" android:layout_height="wrap_content"> <ScrollView android:id="@+id/password_root" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/activity_horizontal_margin" android:scrollbarSize="4dp" android:scrollbarStyle="outsideOverlay" android:scrollbarThumbVertical="@drawable/scroll_bar"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <com.neopixl.pixlui.components.textview.TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/settings_password_instructions" android:textColor="@color/text_gray" android:textSize="15sp" pixlui:typeface="Roboto-Regular.ttf" /> <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:gravity="center_horizontal" android:hint="@string/insert_new_password" android:inputType="textPassword" style="@style/Text.Normal" /> <EditText android:id="@+id/password_check" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:gravity="center_horizontal" android:hint="@string/confirm_new_password" android:inputType="textPassword" style="@style/Text.Normal" /> <com.neopixl.pixlui.components.textview.TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="@string/settings_password_question_instructions" android:textColor="@color/text_gray" android:textSize="15sp" pixlui:typeface="Roboto-Regular.ttf" /> <EditText android:id="@+id/question" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:gravity="center_horizontal" android:singleLine="true" android:hint="@string/settings_password_question" style="@style/Text.Normal" /> <EditText android:id="@+id/answer" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:gravity="center_horizontal" android:hint="@string/settings_password_answer" android:inputType="textPassword" style="@style/Text.Normal" /> <EditText android:id="@+id/answer_check" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:gravity="center_horizontal" android:hint="@string/settings_password_answer_check" android:inputType="textPassword" style="@style/Text.Normal" /> <include layout="@layout/password_buttons" /> </LinearLayout> </ScrollView> <include android:id="@+id/crouton_handle" layout="@layout/crouton_handle" /> </RelativeLayout>
深澳宇:今天做了关于分类的添加修改移除在数据库中的操作。
代码:
public ArrayList<Category> getCategories () { ArrayList<Category> categoriesList = new ArrayList<>(); String sql = "SELECT " + KEY_CATEGORY_ID + "," + KEY_CATEGORY_NAME + "," + KEY_CATEGORY_DESCRIPTION + "," + KEY_CATEGORY_COLOR + "," + " COUNT(" + KEY_ID + ") count" + " FROM " + TABLE_CATEGORY + " LEFT JOIN (" + " SELECT " + KEY_ID + ", " + KEY_CATEGORY + " FROM " + TABLE_NOTES + " WHERE " + KEY_TRASHED + " IS NOT 1" + ") USING( " + KEY_CATEGORY + ") " + " GROUP BY " + KEY_CATEGORY_ID + "," + KEY_CATEGORY_NAME + "," + KEY_CATEGORY_DESCRIPTION + "," + KEY_CATEGORY_COLOR + " ORDER BY IFNULL(NULLIF(" + KEY_CATEGORY_NAME + ", ''),'zzzzzzzz') "; Cursor cursor = null; try { cursor = getDatabase().rawQuery(sql, null); // Looping through all rows and adding to list if (cursor.moveToFirst()) { do { categoriesList.add(new Category(cursor.getLong(0), cursor.getString(1), cursor.getString(2), cursor .getString(3), cursor.getInt(4))); } while (cursor.moveToNext()); } } finally { if (cursor != null) { cursor.close(); } } return categoriesList; } /** * Updates or insert a new a category * * @param category Category to be updated or inserted * @return Rows affected or new inserted category ID */ public Category updateCategory (Category category) { ContentValues values = new ContentValues(); values.put(KEY_CATEGORY_ID, category.getId() != null ? category.getId() : Calendar.getInstance() .getTimeInMillis()); values.put(KEY_CATEGORY_NAME, category.getName()); values.put(KEY_CATEGORY_DESCRIPTION, category.getDescription()); values.put(KEY_CATEGORY_COLOR, category.getColor()); getDatabase(true).insertWithOnConflict(TABLE_CATEGORY, KEY_CATEGORY_ID, values, SQLiteDatabase .CONFLICT_REPLACE); return category; } /** * Deletion of a category * * @param category Category to be deleted * @return Number 1 if category's record has been deleted, 0 otherwise */ public long deleteCategory (Category category) { long deleted; SQLiteDatabase db = getDatabase(true); // Un-categorize notes associated with this category ContentValues values = new ContentValues(); values.put(KEY_CATEGORY, ""); // Updating row db.update(TABLE_NOTES, values, KEY_CATEGORY + " = ?", new String[]{String.valueOf(category.getId())}); // Delete category deleted = db.delete(TABLE_CATEGORY, KEY_CATEGORY_ID + " = ?", new String[]{String.valueOf(category.getId())}); return deleted; } /** * Get note Category */ public Category getCategory (Long id) { Category category = null; String sql = "SELECT " + KEY_CATEGORY_ID + "," + KEY_CATEGORY_NAME + "," + KEY_CATEGORY_DESCRIPTION + "," + KEY_CATEGORY_COLOR + " FROM " + TABLE_CATEGORY + " WHERE " + KEY_CATEGORY_ID + " = " + id; try (Cursor cursor = getDatabase().rawQuery(sql, null)) { if (cursor.moveToFirst()) { category = new Category(cursor.getLong(0), cursor.getString(1), cursor.getString(2), cursor.getString(3)); } } return category; }
刘贺鑫:今天重新做了新建笔记的fab按钮,点击+号会弹出三个按钮,照片、待办事项、文本。
代码:
<?xml version="1.0" encoding="utf-8"?> <com.getbase.floatingactionbutton.FloatingActionsMenu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fab="http://schemas.android.com/apk/res-auto" android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" fab:fab_addButtonColorNormal="@color/colorAccent" fab:fab_addButtonColorPressed="@color/colorAccentPressed" fab:fab_addButtonPlusIconColor="@color/white" android:layout_marginBottom="8dp" android:layout_marginRight="@dimen/fab_right_margin" android:layout_marginEnd="@dimen/fab_right_margin" android:visibility="invisible" fab:fab_labelsPosition="left" fab:fab_labelStyle="@style/fab_labels_style"> <com.getbase.floatingactionbutton.FloatingActionButton android:id="@+id/fab_camera" android:layout_width="wrap_content" android:layout_height="wrap_content" fab:fab_icon="@drawable/ic_camera_alt_white_48dp" fab:fab_colorNormal="@color/action_color" fab:fab_colorPressed="@color/action_color_pressed" fab:fab_size="mini" fab:fab_title="@string/photo"/> <com.getbase.floatingactionbutton.FloatingActionButton android:id="@+id/fab_checklist" android:layout_width="wrap_content" android:layout_height="wrap_content" fab:fab_icon="@drawable/ic_format_list_bulleted_white_48dp" fab:fab_colorNormal="@color/colorPrimary" fab:fab_colorPressed="@color/colorPrimaryDark" fab:fab_size="mini" fab:fab_title="@string/checklist"/> <com.getbase.floatingactionbutton.FloatingActionButton android:id="@+id/fab_note" android:layout_width="wrap_content" android:layout_height="wrap_content" fab:fab_icon="@drawable/ic_file_document_box_white_48dp" fab:fab_colorNormal="@color/colorAccent" fab:fab_colorPressed="@color/colorAccentPressed" android:visibility="gone" fab:fab_size="mini" fab:fab_title="@string/text_note"/> </com.getbase.floatingactionbutton.FloatingActionsMenu>