跳到主要內容

發表文章

目前顯示的是 2017的文章

SQLite - RecyclerView and SearchView

設計資料庫表格 建立資料庫表格使用SQL的「CREATE TABLE」指令,這個指令需要指定表格的名稱, 還有這個表格用來儲存每一筆資料的欄位(Column)。 這些需要的表格欄位可以對應到主要類別中的欄位變數, 不過SQLite資料庫的資料型態只有下面這幾種,使用它們來決定表格欄位可以儲存的資料型態: INTEGER – 整數,對應Java 的byte、short、int 和long。 REAL – 小數,對應Java 的float 和double。 TEXT – 字串,對應Java 的String。 一個SQLite表格建議一定要包含一個可以自動為資料編號的欄位,欄位名稱固定為「 _id 」,型態為「INTEGER」。 後面加上「 PRIMARY KEY AUTOINCREMENT 」的設定,就可以讓SQLite自動為每一筆資料編號。 建立SQLiteOpenHelper類別 Android 提供許多方便與簡單的資料庫API,可以簡化應用程式處理資料庫的工作。 這些API都在「android.database.sqlite」套件,它們可以用來執行資料庫的管理和查詢的工作。 這個套件中的「 SQLiteOpenHelper 」類別,可以在應用程式中執行 建立資料庫與表格 的工作,應用程式第一次在裝置執行的時候,由它負責建立應用程式需要的資料庫與表格, 後續執行的時候開啟已經建立好的資料庫讓應用程式使用。 還有應用程式在運作一段時間以後,如果增加或修改功能,資料庫的表格也增加或修改了 ,它也可以為應用程式執行資料庫的修改工作,讓新的應用程式可以正常的運作。 Create New Java Class public class MyDBHelper extends SQLiteOpenHelper{ //資料庫名稱 public static final String DATABASE_NAME = "mydata.db"; //資料庫版本,資料結構改變的時後要更改這個數字,通常是加一 public static final int VERSION = 1; //資料庫物件,固定的欄位變數 private static SQLiteDatabase

Android using BottomNavigationView

Creating Navigation Menu menu_navigation.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_home" android:icon="@drawable/ic_home" android:title="@string/action_home"/> <item android:id="@+id/action_profile" android:icon="@drawable/ic_person" android:title="@string/action_profile"/> <item android:id="@+id/action_settings" android:icon="@drawable/ic_settings" android:title="@string/action_settings"/> </menu> Creating Layout main_activity.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://

Material Design - TabLayout widget and ViewPager using Fragments.

TabLayout widget and ViewPager using Fragments.  Layout res/layout/content_viewpager.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context=".TabLayoutActivity" tools:showIn="@layout/activity_tab_layout"> <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_constraintTop

Material Design - RecyclerView and AppBarLayout

GitHub RecyclerView RecyclerView 小工具是比較進階和彈性的 ListView 版本。 這個小工具是一個用來顯示大型資料集的容器,只要維護少數幾個視圖,就可極有效率地捲動資料集。您的資料集元素在執行階段會根據使用者操作動作或網路事件而變更。 RecyclerView 類別會提供下列項目,簡化大型資料集的顯示和處理方式: 版面配置管理員,用來將項目定位 (將它設為橫向或直向,或者以網格形式顯示) 常見項目操作 (例如移除或新增項目) 的預設動畫  CoordinatorLayout 也只支援 RecyclerView 而不支援 LisView RecyclerView 架構,比 ListView多了一個LayoutManager 如果要使用 RecyclerView 小工具,您必須指定配接器和版面配置管理員。 如要建立配接器,請延伸 RecyclerView.Adapter 類別。 RecyclerView 提供下列內建的版面配置管理員: LinearLayoutManager 在垂直或水平捲動清單中顯示項目。 GridLayoutManager 會在網格中顯示項目。 StaggeredGridLayoutManager 會在交錯網格中顯示項目。 如要建立自訂版面配置管理員,請延伸 RecyclerView.LayoutManager 類別。 Material Design-AppBarLayout AppBar 最初叫 ActionBar,後來改名為 Toolbar ,現在統稱叫 AppBar。 AppBarLayout 即是控制內容元件滑動時 AppBar 的顯示,需要在 CoordinatorLayout 底下才能運作。可輕易做到滑動 RecyclerView 時,自動顯示和隱藏 ToolBar CollapsingToolbarLayout 它是 AppBarLayout 中唯一的child,而它的 child view 可加上 layout_collapseMode 去決定 CollapsingToolBarLayout 被隱藏時他們自身的顯示情況。 最常見的用法是在滑動時將一個大圖和文字的 AppBar 縮為純文字。 設定Layout &l

Material Design - Card View and Recycler View

build.gradle (Module.app) 添加CardView,RecyclerView和Glide依賴關係。  RecyclerView用於以網格方式顯示相冊。  CardView用於顯示單個專輯項目。  Glide用於顯示專輯封面圖片。 dependencies {      //CardView     compile 'com.android.support:cardview-v7:25.3.1'     //RecyclerView     compile 'com.android.support:recyclerview-v7:25.3.1'     //Glide ImageLoader....     compile 'com.github.bumptech.glide:glide:3.7.0' } 將以下字符串,顏色和調整資源添加到strings.xml,colors.xml和dimensions.xml文件。 string.xml <resources> <string name="app_name">Card View</string> <string name="action_settings">Settings</string> <string name="action_add_favourite">Add to Favourites</string> <string name="action_play_next">Play Next</string> <string name="backdrop_title">LOVE MUSIC</string> <string name="backdrop_subtitle">This season top 20 albums</string> </resources>