Android開發Tips(2)

來源:互聯網
上載者:User

標籤:sam   地址   evel   編程模式   UI   ddc   get   複用   項目   

歡迎Follow我的GitHub, 關注我的CSDN.

我會介紹關於Android的一些有趣的小知識點. 上一篇.

1. Dagger2的開發順序

Module -> Component -> Application
首先模組(Module)建立須要提供的類執行個體, 其次把模組加入到組件(Component)中並提供須要注入的類, 最後把組件加入到應用(Application)中並提供介面.

// 模組@Modulepublic class TestAppModule {    private final Context mContext;    public TestAppModule(Context context) {        mContext = context.getApplicationContext();    }    // 提供類執行個體    @AppScope    @Provides    public Context provideAppContext() {        return mContext;    }    @Provides    public WeatherApiClient provideWeatherApiClient() {        return new MockWeatherApiClient();    }}// 組件@AppScope@Component(modules = TestAppModule.class) // 注冊模組public interface TestAppComponent extends AppComponent {    void inject(MainActivityTest test);}// 應用public class TestWeatherApplication extends WeatherApplication {    private TestAppComponent mTestAppComponent;    @Override public void onCreate() {        super.onCreate();        mTestAppComponent = DaggerTestAppComponent.builder()                .testAppModule(new TestAppModule(this))                .build();    }    // 提供組件    @Override    public TestAppComponent getAppComponent() {        return mTestAppComponent;    }}
2. JRebel

Android調試工具, 不用編譯, 就能夠重新整理一些項目改動. 只是功能已經被Android Studio 2.0 取代, 等待2.0正式發版.

3. 資料繫結(DataBinding)

DataBinding實現資料與頁面的分離, 更符合物件導向的編程模式.
布局設定

    <data>        <variable            name="weatherData"            type="clwang.chunyu.me.wcl_espresso_dagger_demo.data.WeatherData"/>    </data>            <TextView                android:id="@+id/temperature"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_centerInParent="true"                android:layout_marginBottom="@dimen/margin_large"                android:layout_marginTop="@dimen/margin_xlarge"                android:text="@{weatherData.temperatureCelsius}"                android:textAppearance="@style/TextAppearance.AppCompat.Display3"                tools:text="10°"/>

邏輯設定

private ActivityMainBinding mBinding; // 頁面綁定類mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main); // 綁定頁面mBinding.weatherLayout.setVisibility(View.VISIBLE); // 使用IdmBinding.setWeatherData(weatherData); // 綁定資料
4. ClassyShark

查看Apk資訊的軟體, 功能很強大, 省去反編譯的步驟, 主要功能:
(1) 在MultiDex中dex的具體資訊.
(2) 使用NativeLibrary的具體資訊.
(3) 類的具體資訊.
(4) 數量統計.

5. CocoaPod安裝

升級Mac系統, 可能會導致Pod命令消失, 須要又一次安裝Pod.

sudo gem install -n /usr/local/bin cocoapods
6. LaunchMode

LaunchMode包括四種模式,
(1) standard, 標準模式, 啟動又一次建立示範範例, 預設.
(2) singleTop, 棧頂複用模式, 位於棧頂, 啟動不會被建立, 調用onNewIntent.
(3) singleTask, 棧內複用模式, 存在不會被建立, 調用onNewIntent.
(4) singleInstance, 單一實例模式, 單獨位於一個任務棧內, 複用.

7. TextView的標準字型

樣式

style="@style/TextAppearance.AppCompat.Display4"style="@style/TextAppearance.AppCompat.Display3"style="@style/TextAppearance.AppCompat.Display2"style="@style/TextAppearance.AppCompat.Display1"style="@style/TextAppearance.AppCompat.Headline"style="@style/TextAppearance.AppCompat.Title"style="@style/TextAppearance.AppCompat.Subhead"style="@style/TextAppearance.AppCompat.Body2"style="@style/TextAppearance.AppCompat.Body1"style="@style/TextAppearance.AppCompat.Caption"style="@style/TextAppearance.AppCompat.Button"

顯示

8. 自己主動產生DbHelper的指令碼


安裝Jinja2.

pip install Jinja2

設定資料

CLASS RepoString IdString NameString DescriptionString OwnerENDCLASS

下載程式碼程式庫. 產生代碼.

python sql_lite_helper.py -f ~/Desktop/Repo -n SampleGenerate -p me.chunyu -a clwang
9. Gson的序列化參數

有些情況下, Json名稱與變數不同, 須要指定.

@SerializedName("avatar_url") private String avatarUrl;
10. Proguard保留庫

最簡潔的方式是所有保留. 去除警告dontwarn, 保留類keep class.

# 線上更新-dontwarn clwang.chunyu.me.**-keep class clwang.chunyu.me.**{*;}

OK, That’s all! Enjoy It!

Android開發Tips(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.