ติดตั้ง JDK บน Windows

ดาว์นโหลด jdk 11 มาแบบ msi จะได้ไฟล์ชื่อ microsoft-jdk-11.0.23-windows-x64.msi

ตอนติดตั้งก็เลือกให้ set JAVA_HOME ด้วย

ติดตั้งเสร็จก็ตรวจสอบ

> java --version
openjdk 11.0.23 2024-04-16 LTS
OpenJDK Runtime Environment Microsoft-9394293 (build 11.0.23+9-LTS)
OpenJDK 64-Bit Server VM Microsoft-9394293 (build 11.0.23+9-LTS, mixed mode, sharing)
> javac --version
javac 11.0.23
> echo %JAVA_HOME%
C:\Program Files\Microsoft\jdk-11.0.23.9-hotspot\

การขอ Permission ด้วยไลบรารี EasyPermissions

ในกรณีที่ขอสิทธิ แล้ว user ไม่ให้สิทธิ เมื่อ user เข้าใช้งานครั้งต่อไป ก็จะขึ้น dialog ขึ้นมาถาม user ใหม่ และถ้า user ไม่ให้สิทธิและไม่ให้ถามอีก ก็จะมี dialog มาแนะนำให้ user ไปหน้า setting ของ app เพื่อปรับเปลี่ยนสิทธิให้ app

Continue reading

การขอ Permission ด้วยไลบรารี SimplePermissions

Permission ในระบบ android แบ่งได้เป็น 2 ชนิดคือ

  • Normal Permission กรณีนี้ไม่จำเป็นต้องขอ Runtime Permission
  • Dangerous Permission จำเป็นต้องขอ Runtime Permission

แต่อย่างไรก็ตาม ต้องขอ Permission ในไฟล์ AndroidManifest.xml ด้วย

Continue reading

การฝัง WebView ในแอพ

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.phaisarn.mywebview">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

MainActivity.java

package com.phaisarn.mywebview;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);

        WebView webView1 = new WebView(this);
        setContentView(webView1);

        WebSettings webSettings = webView1.getSettings();
        webSettings.setJavaScriptEnabled(true);

        webView1.setWebViewClient(new WebViewClient());

        webView1.loadUrl("http://google.com");
    }
}

บรรทัดที่ 23 กำหนดให้แสดงเว็บเพจในแอพ

Link

การขอหลาย Permission

การขอ Permission หลายๆอย่าง โดยทำการตรวจสอบ ว่า permission ไหนที่ยังไม่มีก็ทำการขอ โดยตัวอย่างเป็นการขอสิทธิเข้าถึงที่เก็บข้อมูล และขอสิทธิเข้าถึงตำแหน่ง

Continue reading