android开发的页面如何动态刷新,使Textview显示的始终是服务器最终值,先清除掉前一次显示的,再显示当前

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发的页面如何动态刷新,使Textview显示的始终是服务器最终值,先清除掉前一次显示的,再显示当前相关的知识,希望对你有一定的参考价值。

可以根据用户的操作去重新请求啊,比如下拉刷新或上拉刷新或翻页或点击等,想怎么玩就怎么玩,全看你怎么设计功能。要完全自动刷新也可以,写个定时任务自动去执行啊,但这样用户体验就不好了。 参考技术A import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class TextViewJava extends Activity
private LinearLayout mLayout;
private TextView mTextView;
private RelativeLayout mLayout2;
private TextView mTextView2;
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
// 创建一个线性布局
mLayout = new LinearLayout(this);
// 接着创建一个TextView
mTextView = new TextView(this);
// 第一个参数为宽的设置,第二个参数为高的设置。
mTextView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
// 设置mTextView的文字
mTextView.setText("这是我的TextView");
// 设置字体大小
mTextView.setTextSize(20);
// 设置背景
mTextView.setBackgroundColor(Color.BLUE);
// 设置字体颜色
mTextView.setTextColor(Color.RED);
//设置居中
mTextView.setGravity(Gravity.CENTER);
//
mTextView.setPadding(1, 0, 0, 0);//left, top, right, bottom
// 将TextView添加到Linearlayout中去
mLayout.addView(mTextView);
// 创建一个线性布局
mLayout2 = new RelativeLayout(this);
// 接着创建一个TextView
mTextView2 = new TextView(this);
// 第一个参数为宽的设置,第二个参数为高的设置。
mTextView2.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
// 设置mTextView的文字
mTextView2.setText("这是我的TextView");
// 设置字体大小
mTextView2.setTextSize(20);
// 设置背景
mTextView2.setBackgroundColor(Color.BLUE);
// 设置字体颜色
mTextView2.setTextColor(Color.RED);
// 设置居中
mTextView2.setGravity(Gravity.CENTER);
//相对位置
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)mTextView2.getLayoutParams();
params.setMargins(1, 0, 0, 0);// 通过自定义坐标来放置你的控件left, top, right, bottom
mTextView .setLayoutParams(params);//
// 将TextView添加到RelativeLayout中去
mLayout2.addView(mTextView2);
// 展现这个线性布局
setContentView(mLayout);
setContentView(mLayout2);

如何使我在 VS 2015 Web 开发环境上运行的 AngularJS SPA 正确刷新

【中文标题】如何使我在 VS 2015 Web 开发环境上运行的 AngularJS SPA 正确刷新【英文标题】:How can I make my AngularJS SPA running on VS 2015 web development environment refresh correctly 【发布时间】:2016-08-30 21:32:40 【问题描述】:

我有一个使用 Visual Studio 2015 开发的 AngularJS SPA 应用程序。当我单击发布时,它会发布 index.html 并且工作正常。但是,如果我在一个页面上并单击刷新,那么它会尝试刷新 SPA 页面,例如 example.com/home/about。这失败了,因为我没有主页/关于页面。

有什么方法可以修改我的 web.config 文件(仅用于本地测试),以便它实际上进入 index.html(加载它),然后进入 /home/about 状态?

这是我当前的 web.config:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
</configuration>

【问题讨论】:

您需要在您的网络配置上设置 URL 重写规则 这就是你要找的东西吗:***.com/questions/12614072/… 【参考方案1】:

您似乎正在使用html5mode。在这种情况下,没有 # 来保持 URL 从请求到服务器的变化。 使用此配置,您需要服务器的帮助。它会在收到来自您的 SPA 路由的请求时为 index.html 提供服务。

这个SO answer 有关于在 web.config 上配置 URL 重写的详细信息:

规则:

  <system.webServer>
    <rewrite>
      <rules>
        <rule name="AngularJS Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="REQUEST_FILENAME" matchType="IsFile" negate="true" />
            <add input="REQUEST_FILENAME" matchType="IsDirectory" negate="true" />
            <add input="REQUEST_URI" pattern="^/(api)" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

它假定您的 API 位于:/api 并且对于它找到的任何目录或文件,它都按原样提供服务。 其他任何内容,都被重写为/,将默认文档配置为index.html,将加载您的SPA。

另请注意,您需要为 IIS 安装 URL Rewrite module (IIS Express doesn't need the module)

另一个选项是这些轻量级 HTTP 服务器 npm 包之一。 John Papa has one: lite-server。它在后台使用BrowserSync:

BrowserSync 在超快速轻量级中完成了我们想要的大部分工作 开发服务器。它提供静态内容,检测变化, 刷新浏览器,并提供许多自定义。

创建 SPA 时,有些路由只有 浏览器。例如,/customer/21 可能是一个客户端路由 角应用程序。如果此路线是手动输入或直接链接到 作为 Angular 应用程序(又名深层链接)的入口点,静态 服务器将收到请求,因为 Angular 尚未加载。 服务器将找不到路由的匹配项,因此返回 404。 在这种情况下,所需的行为是返回 index.html(或 我们定义的应用程序的任何起始页面)。 BrowserSync 可以 不会自动允许后备页面。但它确实允许 自定义中间件。这就是 lite-server 介入的地方。

lite-server 是一个简单的 BrowserSync 自定义包装器,用于制作 很容易为 SPA 服务。

【讨论】:

我试过了,但它似乎不适用于 Visual Studio 2015 使用的开发服务器。

以上是关于android开发的页面如何动态刷新,使Textview显示的始终是服务器最终值,先清除掉前一次显示的,再显示当前的主要内容,如果未能解决你的问题,请参考以下文章

JQuery - 动态添加Html后,如何使CSS生效,JS代码可用?

asp.net中如何使控件内容在本页面跳转不刷新

如何在不提交页面的情况下刷新 PL/SQL 动态内容区域

如何使我在 VS 2015 Web 开发环境上运行的 AngularJS SPA 正确刷新

如何使用pyqtgraph TimeAxisItem使X轴时间动态刷新

android 怎么刷新UI组件