在 Patient Tracking Android 应用程序 (Kotlin) 中集成华为 Account Kit_kotlin 华为应用

在 android studio 中创建项目,请参阅创建 Android Studio 项目。

生成SHA-256 证书指纹。

生成SHA-256 证书指纹。在android项目右上角点击Gradle,选择Project Name > Tasks > android,然后点击signingReport,如下。
在 Patient Tracking Android 应用程序 (Kotlin) 中集成华为 Account Kit_kotlin 华为应用_第1张图片
注意:项目名称取决于用户创建的名称。

  • 在 AppGallery Connect 中创建一个应用程序。
  • 从App信息中下载agconnect-services.json文件,复制粘贴到app目录下的android Project中,如下。
    在 Patient Tracking Android 应用程序 (Kotlin) 中集成华为 Account Kit_kotlin 华为应用_第2张图片
  • 输入SHA-256证书指纹,点击保存按钮,如下。
    在 Patient Tracking Android 应用程序 (Kotlin) 中集成华为 Account Kit_kotlin 华为应用_第3张图片
  • 单击Manage APIs 选项卡并启用Account Kit。
    在 Patient Tracking Android 应用程序 (Kotlin) 中集成华为 Account Kit_kotlin 华为应用_第4张图片
  • 在buildscript、dependencies和allprojects的存储库下的build.gradle(Project)文件中添加以下 maven URL ,请参阅添加配置。
maven { url 'http://developer.huawei.com/repo/' }
classpath 'com.huawei.agconnect:agcp:1.6.0.300'

  • 在build.gradle(Module)文件 中添加以下插件和依赖项。
apply plugin: id 'com.huawei.agconnect'
// Huawei AGC
implementation 'com.huawei.agconnect:agconnect-core:1.6.0.300'
// Huawei Account Kit
implementation 'com.huawei.hms:hwid:6.3.0.301'

  • 现在同步 gradle。
  • 将所需的权限添加到AndroidManifest.xml文件。



让我们开始开发

我已经在 Android Studio 上创建了一个空活动项目,让我们开始编码。

在MainActivity.kt我们可以找到业务逻辑。

class MainActivity : AppCompatActivity() {

    // Account Kit variables
    private var mAuthManager: AccountAuthService? = null
    private var mAuthParam: AccountAuthParams? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // Account kit button click Listener
        btn_login.setOnClickListener(mOnClickListener)

    }

    // Account kit, method to send an authorization request.
    private fun signIn() {
        mAuthParam = AccountAuthParamsHelper(AccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
            .setIdToken()
            .setAccessToken()
            .setProfile()
            .createParams()
        mAuthManager = AccountAuthManager.getService(this@MainActivity, mAuthParam)
        startActivityForResult(mAuthManager?.signInIntent, 1002)
    }

    private val mOnClickListener: View.OnClickListener = object : View.OnClickListener {
        override fun onClick(v: View?) {
            when (v?.id) {
                R.id.btn_login -> signIn()
            }
        }
    }

    // Process the authorization result
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (requestCode == 1002 ) {
            val authAccountTask = AccountAuthManager.parseAuthResultFromIntent(data)
            if (authAccountTask.isSuccessful) {
                Toast.makeText(this, "SigIn success", Toast.LENGTH_LONG).show()
                val intent = Intent(this@MainActivity, Home::class.java)
                startActivity(intent)
            } else {
                Toast.makeText(this, "SignIn failed: " + (authAccountTask.exception as ApiException).statusCode, Toast.LENGTH_LONG).show()
            }
        }
    }


}

在activity_main.xml我们可以创建 UI 屏幕。




    

        
        

        

            
            

            
        

        

            
            

            
        


### 更多Android高级工程师进阶学习资料

**进阶学习视频**
![](https://img-blog.csdnimg.cn/img_convert/f58f53bee16b059fdfc3abd11091c3b4.webp?x-oss-process=image/format,png)

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

![](https://img-blog.csdnimg.cn/img_convert/6d66a17c244a055f5146f95d96f49cd9.webp?x-oss-process=image/format,png)



**里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…**



**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

你可能感兴趣的:(程序员,android,kotlin,华为)