Java Android Studio在小部件中从web获取txt文件
我是android studio的新手,只想让一个应用程序做一件事:检查bytewerk是否打开(域名是stats.bytewerk.org/status.txt打开或关闭一个单词),并将其显示在小部件上。但是我尝试了各种各样的httpc连接,比如截击或okhttp,但都没有得到结果。我已经在清单中添加了使用权限 1:Java Android Studio在小部件中从web获取txt文件,java,android,Java,Android,我是android studio的新手,只想让一个应用程序做一件事:检查bytewerk是否打开(域名是stats.bytewerk.org/status.txt打开或关闭一个单词),并将其显示在小部件上。但是我尝试了各种各样的httpc连接,比如截击或okhttp,但都没有得到结果。我已经在清单中添加了使用权限 1: 将internet权限添加到您的Manifest.xml和volley中,这一行: 在应用程序之前标记 希望这有帮助。这是我的解决方案: static void upd
将internet权限添加到您的
Manifest.xml
和volley中,这一行:
在应用程序之前
标记
希望这有帮助。这是我的解决方案:
static void updateAppWidget(Context context, final AppWidgetManager appWidgetManager,
final int appWidgetId) {
final RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.status_widget);
// ...
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(context);
String url ="http://stats.bytewerk.org/status.txt";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
public void onResponse(String response) {
// Display the first 500 characters of the response string.
if (response.equals("open")) {
views.setViewVisibility(R.id.status_online, 1);
} else {
views.setViewVisibility(R.id.status_offline, 1);
}
//views.setTextViewText(R.id.text, "Yeah!" + response);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
views.setViewVisibility(R.id.status_nointernet, 1);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
});
queue.add(stringRequest);
static void updateAppWidget(上下文上下文,最终AppWidgetManager AppWidgetManager,
最终整数(appWidgetId){
最终远程视图=新远程视图(context.getPackageName(),R.layout.status_小部件);
// ...
//实例化RequestQueue。
RequestQueue=Volley.newRequestQueue(上下文);
字符串url=”http://stats.bytewerk.org/status.txt";
//从提供的URL请求字符串响应。
StringRequest StringRequest=新的StringRequest(Request.Method.GET,url,
新的Response.Listener(){
公共void onResponse(字符串响应){
//显示响应字符串的前500个字符。
如果(响应等于(“打开”)){
视图。setViewVisibility(R.id.status_online,1);
}否则{
视图。setViewVisibility(R.id.status_offline,1);
}
//views.setTextViewText(R.id.text,“耶!”+响应);
UpdateAppWidgetManager.UpdateAppWidgetId(appWidgetId,视图);
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
views.setViewVisibility(R.id.status_nointernet,1);
UpdateAppWidgetManager.UpdateAppWidgetId(appWidgetId,视图);
}
});
添加(stringRequest);
请显示您的尝试。显示您编写的所有尝试代码。这样,我们都可以更好地帮助您,并在提问时始终尝试显示尝试。2、使用截击的一种
final TextView textView = (TextView) findViewById(R.id.text);
// ...
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://www.google.com";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
textView.setText("Response is: "+ response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
textView.setText("That didn't work!");
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
dependencies {
...
implementation 'com.android.volley:volley:1.1.1'
}
static void updateAppWidget(Context context, final AppWidgetManager appWidgetManager,
final int appWidgetId) {
final RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.status_widget);
// ...
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(context);
String url ="http://stats.bytewerk.org/status.txt";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
public void onResponse(String response) {
// Display the first 500 characters of the response string.
if (response.equals("open")) {
views.setViewVisibility(R.id.status_online, 1);
} else {
views.setViewVisibility(R.id.status_offline, 1);
}
//views.setTextViewText(R.id.text, "Yeah!" + response);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
views.setViewVisibility(R.id.status_nointernet, 1);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
});
queue.add(stringRequest);