我遇到一个家庭作业问题,必须创建一个自动填充用户名(也可以是电子邮件)和另一个移动应用程序或网站密码的应用程序。我能够将用户名自动填充到另一个应用程序,例如Instagram,但无法将相应的用户名与其密码关联。我是android的新手,目前无法弄清楚该怎么做,将不胜感激,并预先感谢
通读了自动填充框架的Google文档。在Google文档中 https://developer.android.com/guide/topics/text/autofill-services
我遇到了一些错误,例如无法解析结构(结构)和获取用户数据(结构)。我无法弄清楚在这种情况下该怎么做,所以我做了一些谷歌搜索并搜索了一些博客。
引用了少数几个流链接堆栈。
我可以用来自动填写用户名的博客 https://code.tutsplus.com/tutorials/how-to-use-android-os-autofill-framework--cms-28811
我的清单文件
清单。 XML
computePrefWidth
activity_main .XML
ComboBoxListViewSkin
主要活动.java
<?XML version="1.0" encoding="u t f-8"?>
<manifest x m l n s :android="httpd://s c h e mas.android.com/a p k/res/android"
package="com . example .simple fill">
<application
android : allow Backup="true"
android:icon="@m i p map/i c_launcher"
android:label="@string/app_name"
android : round Icon="@m i p map/i c_launcher_round"
android: supports R t l="true"
android:theme="@style/App Theme">
<activity android:name=".Main Activity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".Email Address Filler"
android:permission="android.permission.BIND_AUTO FILL_SERVICE">
<meta-data android:name="android.auto fill"
android:resource="@XML/email_address_filler"/>
<intent-filter>
<action android:name="android .service .auto fill .Auto fill Service"/>
</intent-filter>
</service>
</application>
</manifest>
email_suggestion.XML
<?XML version="1.0" encoding="u t f-8"?>
<Linear Layout
x m l n s :android="ht t p://schema s. android.com/a p k/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16 DP">
<com .google .android .material .text field .Text Input Layout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Edit Text
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/user"
android:hint="Username"
android: input Type="text Email Address"/>
</com .google .android .material .text field .Text Input Layout>
<com.google.android.material.text field. Text Input Layout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Edit Text
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pass"
android:hint="Password"
android : input Type="text Email Address"/>
</com .google .android .material .text field .Text Input Layout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/save_button"
style="@style/Widget.App C o m p a t .Button.Colored"
android:text="Save"
android :on Click="save User Details"/>
</Linear Layout>
电子邮件地址填充XML
package com .example .simple fill;
import android x .app comp a t .app .App Comp a t Activity;
import android .content .Shared Preferences;
import android. OS. Bundle;
import android.view.View;
import android .widget .Edit Text;
public class Main Activity extends App Comp at Activity {
@Override
protected void on Create(Bundle saved Instance State) {
super.on Create(saved Instance State);
set Content View(R.layout.activity_main);
}
public void save Email Addresses(View view) {
Shared Preferences.Editor editor = get Shared Preferences("EMAIL_STORAGE", MODE_PRIVATE).edit();
String primary Email Address = ((Edit Text)find View By Id(R.id.primary)).get Text().to String();
String secondary Email Address = ((Edit Text)find View By Id(R.id.secondary)).get Text().to String();
editor.put String("PRIMARY_EMAIL", primary Email Address);
editor.put String("SECONDARY_EMAIL", secondary Email Address);
editor.commit();
}
}
电子邮件地址Filler.java
<?XML version="1.0" encoding="u t f-8"?>
<Text View x m l n s :android="ht t p://schema s. android. com/a p k/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/email_suggestion_item"
android : text Size="18 s p"
android : text Style="bold"
android:padding="5 d p">
</Text View>
如果我能够通过输入用户名和密码并自动将其填充到任何移动应用程序(主要要求)从用户界面自动填充。这已经足够了。对于网站而言,那太好了。