javascript - 如何使用来自 android 活动的 Firebase 数据库字符串更新 html 页面的 div
问题描述
我从 Firebase 数据库中检索用户名和电子邮件地址作为我的htmlActivity
. 有什么方法可以将这两个字符串发送到 WebView 组件中显示div
的我的字符串中?index.html
将整个页面的 html 数据发送到 WebView 组件有不同的示例,但我只想更新我已经设计的 html 页面的一个 div。
这是我尝试过的,但它不会从字符串中更改 innerHTML。
我index.html
的是:
<!DOCTYPE html>
<body>
<div id="replace1">UserName</div>
<div id="replace2">Email</div>
</body>
</html>
这是我的htmlActivity
。
public class SmartActivity extends Activity implements AdvancedWebView.Listener {
private AdvancedWebView mWebView;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_smart);
mAuth = FirebaseAuth.getInstance();
mWebView = (AdvancedWebView) findViewById(R.id.webview);
mWebView.loadUrl("file:///android_asset/home.html");
mWebView.getSettings().setJavaScriptEnabled(true);
getUserProfile();
}
public void getUserProfile() {
FirebaseUser user = mAuth.getCurrentUser();
String userID = user.getUid();
if (user != null) {
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users");
ref.child(userID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String username = dataSnapshot.child("name").getValue().toString();
String email = user.getEmail();
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView web, String url) {
String text1 = "UserName";
String text2 = username;
web.loadUrl("javascript:(function(){document.body.innerHTML = document.body.innerHTML.replace('" + text1 + "', '" + text2 + "')})()");
}
});
}
@Override
public void onCancelled(DatabaseError firebaseError) {
}
});
}
}
}
如何发送这两个字符串以使用用户的姓名和电子邮件地址更新索引 html 的 div?
解决方案
推荐阅读
- python - TypeError:标签不是 numpy 数组,也不是标量
- angular - 重定向到路由后,它立即转到上一页
- xmpp - 无法使用 IP 地址访问 ejabberd 管理面板
- javascript - 从 dist 加载 index.html 中的资源失败,这与工作 npm run dev cmd 相反
- ruby - The recipient does not receive any push message even though
- thymeleaf - How to stop character encoding in thymeleaf from changing url get parameter '?' character to changing to %3F
- ios - 如何在 Swift 中按日期对数组进行分组?
- json - How to flatten TimeStampSpec Column in json for druid?
- java - Size of the node of a binary tree in java
- docker - Docker fails to install properly in windows subsystem (Wsl) Ubuntu 16.04