安卓開發新手學習筆記

  1. 固定app僅豎屏
  2. 獲取app的版本號、版本名
  3. 簡單輪播圖的實現
  4. AlertDialog.Builder如何getWindow()
  5. 設置ImageView可見與不可見
  6. android stuio如何快速查找文件
  7. 如何給AlertDialog設置爲圓角彈框
  8. 如何給EditText設置爲失去焦點,無法編輯
  9. 獲取Infalter對象
  10. 在佈局文件裏畫豎線、橫線
  11. 如何使xml佈局文件中TextView的文字居中
  12. 如何隱藏EditText的下劃線
  13. 如何給EditText輸入框添加提示文字
  14. android stuio 如何快速定位當前文件中報錯的位置
  15. fragment中獲取控件
  16. 如何加快android stuio的運行速度
  17. ButterKnife8.8.1配置及使用、@BindView、@OnClick
  18. Android Studio創建Android公共庫模塊

1. 固定app僅豎屏

在AndroidManifest.xml裏的活動註冊裏添加android:screenOrientation=“portrait”,如下:

<activity android:name=".mvp.ui.activity.AboutActivity"
            android:screenOrientation="portrait" ></activity>

2.獲取app的版本號

在這裏插入圖片描述
(1)版本號

public static int getLocalVersion(Context ctx) {
    int localVersion = 0;
    try {
        PackageInfo packageInfo = ctx.getApplicationContext()
                .getPackageManager()
                .getPackageInfo(ctx.getPackageName(), 0);
        localVersion = packageInfo.versionCode;
        Log.d("TAG", "當前版本號:" + localVersion);
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return localVersion;
}

(2)版本名

 public static String packageName(Context context) {
        PackageManager manager = context.getPackageManager();
        String name = null;
        try {
            PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
            name = info.versionName;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

        return name;
    }

原文:https://blog.csdn.net/juer2017/article/details/78914741

3.簡單輪播圖的實現

(1)build.gradle中添加依賴

    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'com.youth.banner:banner:1.4.10'

(2)佈局文件

<com.youth.banner.Banner
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="300dp"/>

(3)圖片加載器

public class GlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {

        Glide.with(context).load(path).into(imageView);

    }
}

(4)Activity活動

public class MainActivity extends AppCompatActivity {

    List<Integer> arrayList = new ArrayList();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        arrayList.add(R.drawable.aa);
        arrayList.add(R.drawable.bb);
        arrayList.add(R.drawable.cc);
        Banner banner = (Banner) findViewById(R.id.banner);
        banner.setImages(arrayList).setImageLoader(new GlideImageLoader()).start();
    }

}

4.AlertDialog.Builder如何getWindow()

 AlertDialog.Builder layoutDialog = new AlertDialog.Builder(this);
 AlertDialog dialog = layoutDialog.create();
 Window window = dialog .getWindow();

5.設置ImageView可見與不可見

imageView.setVisibility(View.VISIBLE); //可見
imageView.setVisibility(View.INVISIBLE); //不可見

6.android stuio如何快速查找文件

快捷鍵:Ctrl+N
在這裏插入圖片描述

7.如何給AlertDialog設置爲圓角彈框

dialog.getWindow().setBackgroundDrawableResource(R.drawable.dialogbg);

R.drawable.dialogbg如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="10dp" />
    <gradient android:endColor="@color/white" android:startColor="@color/white"/>
</shape>

8.如何給EditText設置爲失去焦點,無法編輯


        <EditText
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:focusable="false" />

9.獲取Infalter對象

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);

10.在佈局文件裏畫豎線、橫線

豎線:

<View
      android:layout_width="1dp"
       android:layout_height="match_parent"
       android:background="@color/black"
       android:layout_gravity="center_horizontal" />

橫線:

<View
      android:layout_height="1px"
        android:layout_width="match_parent"
        android:background="@color/black"/>

11.如何使xml佈局文件中TextView的文字居中

android:gravity="center"

12.如何隱藏EditText的下劃線

android:background="@null"

13.如何給EditText輸入框添加提示文字

android:hint="請填寫您的姓名"

14.android stuio 如何快速定位當前文件中報錯的位置

快捷鍵:shift+F2

15.fragment中獲取控件

 public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
 
        View view = inflater.inflate(R.layout.fragment_personal_information,container,false);
        RecyclerView recyclerView = (RecyclerView)view.findViewById(R.id.xxx);       
        return view;
    }

16.如何加快android stuio的運行速度

(1)修改android stuio安裝目錄下的/bin→studio64.exe.vmoptions和studio.exe.vmoptions

   -Xms1024m
   -Xmx6144m
   -XX:ReservedCodeCacheSize=300m
   -XX:SoftRefLRUPolicyMSPerMB=300

(2) 修改項目目錄下的gradle.properties,增加如下配置信息(根據自己電腦的配置修改內存大小,其餘的配置用於加快gradle的編譯速度)

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

(3)修改應用目錄下的build.gradle配置,在android{}中增加如下配置

dexOptions {
    javaMaxHeapSize "4096M"
}
或
dexOptions {
    javaMaxHeapSize "4g"
}

17.ButterKnife8.8.1配置及使用、@BindView、@OnClick

(1)在build.gradle中添加依賴

dependencies {
    api 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

(2)下載插件,我這個已經下載好了,下載完需要重啓
在這裏插入圖片描述
(3)使用:光標定位在Activity中佈局文件名稱activity_main,快捷鍵alt+insert
在這裏插入圖片描述
在這裏插入圖片描述

public class MainActivity extends AppCompatActivity {


    @BindView(R.id.day_before)
    TextView dayBefore;
    @BindView(R.id.btn_before)
    Button btnBefore;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);//一定要在setContentView之後
    }

    @OnClick(R.id.btn_before)
    public void onViewClicked(View view) {
        switch (view.getId()){
            case R.id.btn_before:
                dayBefore.setText("2222222");
                break;
        }
    }
}

注意事項:在非Activity 類(例如:Fragment、ViewHold)中綁定:
ButterKnife.bind(this,view);這裏的this不能替換成getActivity()。

18.Android Studio創建Android公共庫模塊

Java的公共庫是直接將公用代碼打成jar包,Android的公共庫類似,都是爲了代碼的重用。使用Android公共庫還可以使項目模塊化,以便協同開發和更好的擴展。

(1)創建Android Library,File – New – New Module,在彈出的對話框中選擇Android Library
在這裏插入圖片描述
(2)新建後主項目settings.gradle自動添加include
在這裏插入圖片描述
(3)App的build.gradle:
在這裏插入圖片描述
(4)Mylibrary的build.gradle:
在這裏插入圖片描述
(5)爲主項目添加模塊依賴,公共庫模塊創建完成後,要爲主項目添加公共庫模塊依賴,主項目才能使用模塊中的公共代碼塊。
File – Project Structure(Ctrl+Shift+Alt+S) – 選擇主項目 – Dependencies – + – Module dependency – 添加已存在項目中的模塊作爲依賴
在這裏插入圖片描述
(6)同步Gradle(自動添加依賴代碼)
在這裏插入圖片描述
(7)將Android Library打包成 .aar

公共庫模塊在當前項目中可以使用了,但是,如果想要在其他項目中也使用該公共庫模塊,可以將其打包成 .aar

打開Gradle工具窗口,找到mylibrary模塊,在build任務中雙擊

Assemble:Debug和Release的AAR包

AssembleDebug:Debug的AAR包

AssembleRelease:Release的AAR包
在這裏插入圖片描述
執行任務完成後,在mylibrary/build/outputs/aar目錄中就會打出 .aar格式的包
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章