首先,我是一个Web开发人员。我不知道如何为Android或Aplle设备创建应用。但是我一直在寻找一种将响应式网页转换为应用程序的方法。谷歌把我带到了appypie。我尝试过,实际上,它基于我的网站创建了一个应用程序。 但是现在有一个问题:我可以轻松更改网站的内容。 我必须每月更改网站上的价格。 但是,这在应用程序中如何工作?如何更改现有应用程序的内容? 我真的不知道该如何处理。有没有可能?
答案 0 :(得分:1)
制作网站应用程序的最佳方法是使用webView
您可以启用Java脚本,使其具有进度条甚至地址栏
并且每次活动启动时就会加载您的网站
我已经有完整的代码检查了
活动
public class SamaActivity extends AppCompatActivity {
WebView webView;
ProgressBar sama_ProgressBar;
TextView sama_url;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sama);
sama_url = findViewById(R.id.sama_url);
sama_ProgressBar = findViewById(R.id.sama_ProgressBar);
webView = findViewById(R.id.sama_webview);
webView.setInitialScale(100);
webView.setWebChromeClient(
new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int progress) {
if (progress < 100 && sama_ProgressBar.getVisibility() == ProgressBar.GONE) {
sama_ProgressBar.setVisibility(ProgressBar.VISIBLE);
}
sama_ProgressBar.setProgress(progress);
if (progress == 100) {
sama_ProgressBar.setVisibility(ProgressBar.GONE);
}
}
}
);
webView.setWebViewClient(
new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("sama.fums.ac.ir")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Log.d("WebView", "your current url when webpage loading.." + url);
sama_url.setText(url);
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d("WebView", "your current url when webpage loading.. finish" + url);
super.onPageFinished(view, url);
sama_url.setText(url);
}
}
);
webView.loadUrl("http://sama.fums.ac.ir/samaweb/Login.aspx");
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setBuiltInZoomControls(true);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
和布局
<LinearLayout
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#d7d7d7"
tools:context=".activities.SamaActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:background="@color/primary_light"
android:layout_margin="3dp">
<TextView
android:id="@+id/sama_url"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_weight="1"/>
</LinearLayout>
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:id="@+id/sama_ProgressBar"
android:layout_width="match_parent"
android:layout_height="5dp"
android:indeterminate="true"
/>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sama_webview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
/>
如果您想使用此示例,只需更改地址url和主域