国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

AndroidStudio-實(shí)現(xiàn)登錄界面(數(shù)據(jù)存儲(chǔ)在SQLite)

這篇具有很好參考價(jià)值的文章主要介紹了AndroidStudio-實(shí)現(xiàn)登錄界面(數(shù)據(jù)存儲(chǔ)在SQLite)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?

要求:每種錯(cuò)誤信息采用Toast進(jìn)行提示

(1)未注冊(cè)的用戶(hù)不能進(jìn)行登錄;

(2)用戶(hù)名和密碼不能為空;

(3)用戶(hù)名不能重復(fù);

一、創(chuàng)建新工程

androidstudio用戶(hù)登錄界面,android-studio

?點(diǎn)擊next

androidstudio用戶(hù)登錄界面,android-studio

修改名字 ,language看自己情況修改,sdk最好選21,這樣21之后的都可以用,location自己改,點(diǎn)擊finish

androidstudio用戶(hù)登錄界面,android-studio

點(diǎn)擊左上角的Android,切換成project

androidstudio用戶(hù)登錄界面,android-studio

創(chuàng)建新的activity?

androidstudio用戶(hù)登錄界面,android-studio

?修改名字,點(diǎn)擊finish,同樣的,再創(chuàng)建一個(gè)注冊(cè)Activity

在AndroidMainfest.xml文件中將登錄界面設(shè)為主界面

<application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyLogin"
        tools:targetApi="31">
        <activity
            android:name=".Register"
            android:exported="false" />
        <activity
            android:name=".Login"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

二、UI界面設(shè)計(jì)

插入圖片,名字只能是小寫(xiě)

androidstudio用戶(hù)登錄界面,android-studio

Login:ps:復(fù)制的時(shí)候得把注釋去掉

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout//線性布局
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/img"http://界面背景圖
    android:orientation="vertical">//布局方式,vertical為垂直布局,horizontal為水平布局
    <LinearLayout
        android:layout_marginLeft="30dp"http://容器中的左邊距
        android:layout_marginRight="30dp"http://容器中的右邊距
        android:layout_width="match_parent"http://和父容器一樣大小
        android:layout_height="0dp"http://按比例分配大小
        android:layout_weight="1"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"http://大小包裹內(nèi)容
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="用戶(hù)名:"
                android:layout_marginTop="30dp"http://容器中的上邊距
                android:textSize="25sp"http://sp主要是字體大小
                android:textColor="#000000"
                android:layout_weight="1"/>
            <EditText
                android:id="@+id/userName"http://如果要調(diào)用,就得加id
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:hint="請(qǐng)輸入用戶(hù)名"
                android:layout_marginTop="30dp"
                android:textSize="20sp"
                android:textColor="#2196F3"
                android:layout_weight="2"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="密碼:"
                android:textSize="25sp"
                android:layout_marginTop="30dp"
                android:textColor="#000000"
                android:layout_weight="1"/>
            <EditText
                android:id="@+id/userpassword"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="30dp"
                android:hint="請(qǐng)輸入密碼"
                android:textSize="20sp"
                android:textColor="#2196F3"
                android:layout_weight="2"
                android:inputType="textWebPassword"/>
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:orientation="vertical">
        <Button
            android:id="@+id/login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="登錄"
            android:textAllCaps="false"http://按鈕上的英文可以展現(xiàn)大小寫(xiě),默認(rèn)為true,即顯示的都是大寫(xiě)
            android:textColor="#FFFFFF"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:layout_marginTop="30dp"
            android:textSize="25sp" />
        <Button
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:layout_marginTop="30dp"
            android:textSize="25sp"
            android:textColor="#FFFFFF"
            android:textAllCaps="false"
            android:text="注冊(cè)"
            android:id="@+id/register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</LinearLayout>

Register:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/img">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="用戶(hù)名:"
            android:layout_marginTop="30dp"
            android:textSize="25sp"
            android:textColor="#000000"
            android:layout_weight="1"/>
        <EditText
            android:id="@+id/userName"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:hint="請(qǐng)輸入用戶(hù)名"
            android:layout_marginTop="30dp"
            android:textSize="20sp"
            android:textColor="#2196F3"
            android:layout_weight="2"/>
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="密碼:"
            android:textSize="25sp"
            android:layout_marginTop="30dp"
            android:textColor="#000000"
            android:layout_weight="1"/>
        <EditText
            android:id="@+id/userpassword"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:hint="請(qǐng)輸入密碼"
            android:textSize="20sp"
            android:textColor="#2196F3"
            android:layout_weight="2"
            android:inputType="textWebPassword"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <Button
            android:textColor="#000000"
            android:layout_marginTop="40dp"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:textSize="25sp"
            android:textAllCaps="false"
            android:text="確認(rèn)"
            android:id="@+id/reday"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <Button
            android:textColor="#000000"
            android:layout_marginTop="20dp"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:textSize="25sp"
            android:textAllCaps="false"
            android:text="取消"
            android:id="@+id/back"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

</LinearLayout>

三、邏輯設(shè)計(jì)

先建立數(shù)據(jù)類(lèi),建立一個(gè)只包含用戶(hù)名和密碼的user類(lèi)。

androidstudio用戶(hù)登錄界面,android-studio

同樣,創(chuàng)建一個(gè)DatabaseHelper類(lèi),包含對(duì)數(shù)據(jù)庫(kù)的一些基本操作(僅有創(chuàng)建數(shù)據(jù)庫(kù)、更新數(shù)據(jù)庫(kù)和數(shù)據(jù)的的插入和查詢(xún))?

User:

package com.example.mylogin;

public class User {
    private  int id;
    private  String name;
    private  String password;
    public User(String name,String password){
        super();
        this.name = name;
        this.password = password;
    }
    public  int getId() {
        return  id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "User{id ="+ id + ", name = "+ name +",password ="+password +"}";
    }
}

DatabaseHelper:

package com.example.mylogin;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
import java.util.ArrayList;

public class DatabaseHelper extends SQLiteOpenHelper {
    //創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)
    private SQLiteDatabase db;

    public DatabaseHelper(@Nullable Context context) {
        super(context, "db_test", null, 1);
        db = getReadableDatabase();
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        //在第一次創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候,創(chuàng)建一些字段
        String sql = "create table user(_id integer, name varchar(50), password varchar(40))";
        db.execSQL(sql);//sql語(yǔ)句的執(zhí)行函數(shù)
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        //如果這個(gè)表中存在user,我們可以先把他去掉,然后重新創(chuàng)建
        String sql = "DROP TABLE IF EXISTS user";
        db.execSQL(sql);
        onCreate(db);
    }
    //為使項(xiàng)目結(jié)構(gòu)更加緊湊,我們?cè)诖祟?lèi)中編寫(xiě)增刪改查的函數(shù),因?yàn)橹挥械卿浐妥?cè)界面,因此只涉及到寫(xiě)入數(shù)據(jù)庫(kù)insert和query的操作
    public void insert(String name,String password ){
        db.execSQL("insert into user(name,password)VALUES(?,?)",new Object[]{name,password});
    }

    public ArrayList<User> getAllDATA(){//查詢(xún)數(shù)據(jù)庫(kù)
        ArrayList<User> list = new ArrayList<User>();
        //查詢(xún)數(shù)據(jù)庫(kù)中的數(shù)據(jù),并將這些數(shù)據(jù)按照降序的情況排列
        Cursor cursor = db.query("user",null,null,null,null,null,"name DESC");
        while(cursor.moveToNext()){
            int index_name = cursor.getColumnIndex("name");
            int index_password = cursor.getColumnIndex("password");
            String name = cursor.getString(index_name);
            String password = cursor.getString(index_password);
            list.add(new User(name,password));
        }
        return list;
    }
}

Register部分的邏輯代碼:

package com.example.mylogin;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;

public class Register extends AppCompatActivity {

    private DatabaseHelper mSQLite;

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

        //找到各個(gè)控件
        Button btn_ready = findViewById(R.id.reday);
        Button btn_back = findViewById(R.id.back);
        EditText ed_name = findViewById(R.id.userName);
        EditText ed_password = findViewById(R.id.userpassword);

        //注冊(cè)監(jiān)聽(tīng)事件
        btn_ready.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //獲取輸入的用戶(hù)名和密碼
                String name = ed_name.getText().toString().trim();
                String password = ed_password.getText().toString().trim();

                //獲取數(shù)據(jù)庫(kù)數(shù)據(jù),判斷用戶(hù)名是否已存在
                ArrayList<User> data = mSQLite.getAllDATA();
                boolean flag = false;
                for(int i = 0; i < data.size(); i++){
                    User userdata = data.get(i);
                    if(name.equals(userdata.getName())){
                        flag = true;
                        break;
                    }else{
                        flag = false;
                    }
                }
                //判斷用戶(hù)名和密碼是否為空
                if(!TextUtils.isEmpty(name)&&!TextUtils.isEmpty(password)){
                    if(!flag){
                        mSQLite.insert(name, password);
                        Intent intent1 = new Intent(Register.this, login.class);
                        startActivity(intent1);
                        finish();
                        Toast.makeText(Register.this, "注冊(cè)成功", Toast.LENGTH_SHORT).show();
                    }
                    else{
                        Toast.makeText(Register.this, "用戶(hù)名已被注冊(cè)", Toast.LENGTH_SHORT).show();
                    }
                }
                else{
                    Toast.makeText(Register.this, "用戶(hù)名與密碼不能為空", Toast.LENGTH_SHORT).show();
                }
            }
        });

        //監(jiān)聽(tīng)返回按鈕
        btn_back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent2 = new Intent(Register.this, login.class);
                startActivity(intent2);
                finish();
            }
        });

        mSQLite = new DatabaseHelper(Register.this);
    }
}

Login部分邏輯代碼:

package com.example.mylogin;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import java.util.ArrayList;

public class Login extends AppCompatActivity {

    private DatabaseHelper mSQLite;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        Button btn_login = findViewById(R.id.login);
        Button btn_register = findViewById(R.id.register);
        EditText ed_name = findViewById(R.id.userName);
        EditText ed_password = findViewById(R.id.userpassword);

        btn_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String name = ed_name.getText().toString().trim();
                String password = ed_password.getText().toString().trim();

                ArrayList<User> data = mSQLite.getAllDATA();
                boolean flag = false;
                for(int i = 0; i < data.size(); i++){
                    User userdata = data.get(i);
                    if(name.equals(userdata.getName())&&password.equals(userdata.getPassword())){
                        flag = true;
                        break;
                    }else{
                        flag = false;
                    }
                }

                if(!TextUtils.isEmpty(name)&&!TextUtils.isEmpty(password)){
                    if(flag){
                        Intent intent1 = new Intent(Login.this, MainActivity.class);
                        startActivity(intent1);
                        finish();
                        Toast.makeText(Login.this, "登錄成功", Toast.LENGTH_SHORT).show();
                    }
                    else{
                        Toast.makeText(Login.this, "用戶(hù)名或密碼不正確", Toast.LENGTH_SHORT).show();
                    }
                }
                else{
                    Toast.makeText(Login.this, "用戶(hù)名與密碼不能為空", Toast.LENGTH_SHORT).show();
                }
            }
        });

        btn_register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent2 = new Intent(Login.this, Register.class);
                startActivity(intent2);
                finish();
            }
        });
        mSQLite = new DatabaseHelper(Login.this);
    }
}

到這里就基本實(shí)現(xiàn)了一個(gè)登陸界面文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-779992.html

到了這里,關(guān)于AndroidStudio-實(shí)現(xiàn)登錄界面(數(shù)據(jù)存儲(chǔ)在SQLite)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于androidstudio校園快遞APP系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于androidstudio校園快遞APP系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    源碼下載: https://download.csdn.net/download/u014388322/87473523 1.課題背景及研究的目的和意義 1.1 課題背景 在其發(fā)展速度可謂一日千里的電子商務(wù)時(shí)代,大學(xué)生群體已成為網(wǎng)絡(luò)購(gòu)物群體中不可或缺的一部分。因此,高校師生對(duì)網(wǎng)購(gòu)的需求也愈來(lái)愈強(qiáng)烈,校園快遞的問(wèn)題也成為了焦點(diǎn),

    2023年04月24日
    瀏覽(21)
  • JavaGui實(shí)現(xiàn)登錄界面編寫(xiě)+實(shí)現(xiàn)賬號(hào)密碼驗(yàn)證登錄+文件存儲(chǔ)

    JavaGui實(shí)現(xiàn)登錄界面編寫(xiě)+實(shí)現(xiàn)賬號(hào)密碼驗(yàn)證登錄+文件存儲(chǔ)

    目錄 標(biāo)題一: 登錄界面編寫(xiě) 標(biāo)題二;登錄界面之注冊(cè)(一個(gè)類(lèi))編寫(xiě)? 標(biāo)題三:登錄界面之登錄編寫(xiě)? 在登錄界面這里,我們先編寫(xiě)一個(gè)登錄界面出來(lái),這只是一個(gè)界面,還沒(méi)有實(shí)現(xiàn)驗(yàn)證賬號(hào)密碼和注冊(cè)的功能,但得有這個(gè)界面做媒介 。 界面如下: ? 1.登陸界面代碼在這里

    2024年02月08日
    瀏覽(21)
  • AndroidStudio-圖片的上傳以及存進(jìn)mysql數(shù)據(jù)庫(kù)里

    AndroidStudio-圖片的上傳以及存進(jìn)mysql數(shù)據(jù)庫(kù)里

    參考文章: 如何簡(jiǎn)單地利用BITMAP為中介儲(chǔ)存圖片到數(shù)據(jù)庫(kù)中 android開(kāi)發(fā)實(shí)現(xiàn)頭像上傳功能 先添加Tiny框架的依賴(lài) 然后創(chuàng)建dialog的xml文件dialog_select_photo 然后創(chuàng)建一個(gè)空白的activity,在該activity的xml里添加一個(gè)按鈕(btn_test)和一個(gè)ImagView(image) 然后是activity里的代碼,有些依賴(lài)可能會(huì)

    2023年04月23日
    瀏覽(22)
  • Android開(kāi)發(fā):使用AndroidStudio開(kāi)發(fā)記單詞APP(帶數(shù)據(jù)庫(kù))

    Android開(kāi)發(fā):使用AndroidStudio開(kāi)發(fā)記單詞APP(帶數(shù)據(jù)庫(kù))

    實(shí)現(xiàn)功能 :設(shè)計(jì)與開(kāi)發(fā)記單詞系統(tǒng)的四個(gè)界面,分別是用戶(hù)登錄、用戶(hù)注冊(cè)、單詞操作以及忘記密碼。 指標(biāo)要求 :通過(guò)用戶(hù)登錄、用戶(hù)注冊(cè)、單詞操作、忘記密碼掌握界面設(shè)計(jì)的基礎(chǔ),其中包括界面布局、常用控件、事件處理等相關(guān)內(nèi)容,通過(guò)所學(xué)內(nèi)容設(shè)計(jì)與開(kāi)發(fā)的界面要

    2024年02月12日
    瀏覽(16)
  • AndroidStudio 實(shí)現(xiàn)APP版本自動(dòng)更新(內(nèi)部更新,不涉及第三方市場(chǎng))
  • 簡(jiǎn)述如何使用Androidstudio對(duì)文件進(jìn)行保存和獲取文件中的數(shù)據(jù)

    在 Android Studio 中,可以使用以下方法對(duì)文件進(jìn)行保存和獲取文件中的數(shù)據(jù): 保存文件: 創(chuàng)建一個(gè) File 對(duì)象,指定要保存的文件路徑和文件名。 使用 FileOutputStream 類(lèi)創(chuàng)建一個(gè)文件輸出流對(duì)象。 將需要保存的數(shù)據(jù)寫(xiě)入文件輸出流中。 關(guān)閉文件輸出流。 示例代碼: 獲取文件中

    2024年01月20日
    瀏覽(69)
  • AndroidStudio課程設(shè)計(jì)-通訊錄系統(tǒng)(高分畢設(shè),Android期末作業(yè),Android課設(shè),AndroidStudio)

    AndroidStudio課程設(shè)計(jì)-通訊錄系統(tǒng)(高分畢設(shè),Android期末作業(yè),Android課設(shè),AndroidStudio)

    博主介紹: 本人專(zhuān)注于Android/java/數(shù)據(jù)庫(kù)/微信小程序技術(shù)領(lǐng)域的開(kāi)發(fā),以及有好幾年的計(jì)算機(jī)畢業(yè)設(shè)計(jì)方面的實(shí)戰(zhàn)開(kāi)發(fā)經(jīng)驗(yàn)和技術(shù)積累;尤其是在安卓(Android)的app的開(kāi)發(fā)和微信小程序的開(kāi)發(fā),很是熟悉和了解;本人也是多年的Android開(kāi)發(fā)人員;希望我發(fā)布的此篇文件可以幫

    2024年02月04日
    瀏覽(23)
  • Unity與原生交互之AndroidStudio篇——Unity導(dǎo)出Android工程,導(dǎo)入AndroidStudio打包APK全流程

    Unity與原生交互之AndroidStudio篇——Unity導(dǎo)出Android工程,導(dǎo)入AndroidStudio打包APK全流程

    ? ? ? unityLibrary: unity的功能庫(kù)模塊?, android工程用到的重要文件夾 launcher: unity的啟動(dòng)器模塊,包含很少的java代碼 ??直接Open unity導(dǎo)出的整個(gè)android項(xiàng)目,Launcher模塊作為app啟動(dòng)模塊 ?1.AS先New一個(gè)空項(xiàng)目: ? Empty Activity 不能選擇Language,默認(rèn)為Kotlin語(yǔ)言 ?Empty Views Activity 可以選擇

    2024年02月11日
    瀏覽(22)
  • androidStudio版本下載鏈接記錄

    下載 Android Studio 和應(yīng)用工具 - Android 開(kāi)發(fā)者 ?|? Android Developers Android Studio 提供了一些應(yīng)用構(gòu)建器以及一個(gè)已針對(duì) Android 應(yīng)用進(jìn)行優(yōu)化的集成式開(kāi)發(fā)環(huán)境 (IDE)。立即下載 Android Studio。 https://developer.android.google.cn/studio?hl=zh-cn Android Studio 下載文件歸檔 ?|? Android 開(kāi)發(fā)者 ?|? Andr

    2024年04月28日
    瀏覽(18)
  • AndroidStudio卸載刪除干凈

    AndroidStudio卸載刪除干凈

    我們?cè)贏ndroid開(kāi)發(fā)時(shí),如果不是在真機(jī)上運(yùn)行程序,那就很難避免在虛擬機(jī)上運(yùn)行了,你會(huì)發(fā)現(xiàn)如果sdk安裝在C盤(pán)上,很快就會(huì)紅杠桿警告,因此你會(huì)選擇卸載,重裝在其他盤(pán),如果卸載不干凈,再次安裝是不會(huì)正常運(yùn)行項(xiàng)目的,接下來(lái)就讓我教你如何刪除干凈吧。 1.關(guān)閉 And

    2024年01月17日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包