小编Eva*_* R.的帖子

TabActivity - > Fragments ..真的很复杂吗?

我知道这里有一百万人,已经有一百万人报道过这里的灾难性事件.我有开发人员参考,并且已经阅读了我可以在SO上找到的所有主题.我的问题是,片段真的很复杂吗?从我可以收集到的,似乎是,而TabActivty非常容易.见下面的例子:

四个选项卡所需的当前代码如下所示:

Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost(); // The activity TabHost
        TabHost.TabSpec spec; // Resusable TabSpec for each tab
        Intent intent; // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, ServerActivity.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost
                .newTabSpec("server")
                .setIndicator("Server",
                        res.getDrawable(R.drawable.ic_tab_server))
                .setContent(intent);
        tabHost.addTab(spec);

        // Do the same …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-tabactivity android-activity

5
推荐指数
1
解决办法
2718
查看次数

如何每2秒在两个值之间连续切换文本切换器

我已经查看了这里的代码 以及这里的代码, 但我仍然无法让我的代码正常工作.使用第二个链接,我可以获得一个在页面上计数的"计时器",但是第一个,我的UI锁定.我想要做的是有一个单独的线程,只要应用程序打开,它就会每3秒钟在文本切换器中不断翻转文本.我需要它在两个值之间切换,并尝试过以下内容:

private Runnable mUpdateTimeTask = new Runnable() {


       public void run() {
           while(true){                                                             
                try {
                    mHandler.post(new Runnable(){
                       @Override
                       public void run() {

                          try {
                            mSwitcher.setText("ON");  
                            Thread.sleep(1000);
                            mSwitcher.setText("OFF");
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                       }
                    }
                    ); 

                }catch (Exception e) {
                    //tv1.setText(e.toString());
                }

             } 
                 }
             };
Run Code Online (Sandbox Code Playgroud)

它每2秒钟会"开启"或"关闭".我还需要能够从主UI更新文本切换器内容,但还没有达到我可以尝试测试的程度.除了上述内容之外,我还尝试使用异步任务:

      new AsyncTask<Void, Double, Void>() {
      @Override
      protected Void doInBackground(Void... params) {
          while (true) {
              mSwitcher.setText("ON");
                SystemClock.sleep(2000);
                mSwitcher.setText("OFF");
                SystemClock.sleep(2000);
          } 
      } …
Run Code Online (Sandbox Code Playgroud)

multithreading android background while-loop

4
推荐指数
2
解决办法
2942
查看次数

是否可以在 Hudson/Jenkins 中交错构建?

我设置了 Jenkins 来为不同平台构建 XBMC 映像。我的系统大约需要 6 小时来构建每个映像,因此我更喜欢并行运行它们,通常一次 2 或 3 个。这样做的问题是,如果他们必须下载模块的更新(例如 linux 内核或某些),则并行的 2 或 3 个构建将同时下载,从而损坏下载(它们指向同一个文件夹)

jenkins/hudson 是否可以指定偏移量?(我知道您可以安排构建,以及使用在一个项目完成后构建的触发器),例如:

构建 1:立即

构建 2:构建 1 后 20 分钟开始

构建 3:构建 2 后 20 分钟开始

我尝试寻找插件以及谷歌,但没有成功。我还知道我可以通过 jenkins 中类似 cron 的调度功能进行调度,但我设置了构建触发器来轮询 GIT 存储库以查找构建的更改,我不仅仅是盲目调度。

hudson build delay jenkins

4
推荐指数
1
解决办法
2493
查看次数

两个 kubernetes 卷可以挂载到同一个地方吗

我对 Kubernetes 还很陌生,想弄清楚。我一直无法谷歌这个答案,所以我很难过。Kubernetes 可以将两个 secret 挂载到同一路径吗?假设有以下部署:

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx-deployment
    version: v1
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
        version: v1
    spec:
      volumes:
      - name: nginxlocal
        hostPath:
          path: /srv/docker/nginx
      - name: requestcert
        secret:
          secretName: requests-certificate
      - name: mysitecert
        secret:
          secretName: mysitecert
      containers:
      - name: nginx
        image: nginx:mainline-alpine # Use 1.15.0
        volumeMounts:
        - name: nginxlocal
          subPath: config/nginx.conf
          mountPath: /etc/nginx/nginx.conf
        - name: requestcert
          mountPath: …
Run Code Online (Sandbox Code Playgroud)

ssl kubernetes

3
推荐指数
1
解决办法
3567
查看次数

有什么方法可以制作一个进度条,当值为 0 时,它是 100%?

我正在开发一个债务跟踪应用程序,并且需要一个进度条,随着当前债务的减少,进度会增加。我能想到的唯一方法是捏造周围的数字,使进度条 MAX 设置为 0,然后将起始债务更改为负数,如下所示

ProgressBar.setMax(0);

Integer startingdebt = -1000;  // 1000$ owed
ProgressBar.setProgress(currentlyowed);  //say, -500
Run Code Online (Sandbox Code Playgroud)

所以你从-1000开始,如果你付了钱,再加500美元。我不知道这是否可行,因为我确定进度条控件的最小值已经设置为 0,所以您不能将最大值设置为相同......有没有办法做到这一点?

编辑: 感谢大家的回答,但我找到了一种更简单的方法:与他人分享,这是我的最终代码块:

    double startingamount = (this.c.getDouble(this.c.getColumnIndex(DbAdapter.KEY_STARTINGAMOUNT)));
    double currentamount = (this.c.getDouble(this.c.getColumnIndex(DbAdapter.KEY_CURRENTAMOUNT)));
    currentdebt.setText(formatter.format(currentamount));
    double progresspaid = new Double(startingamount-currentamount);
    double progresspercentage = new Double((progresspaid / startingamount)*100);
    int progresspercent = (int)progresspercentage;
    progressbar.setText(Integer.toString(progresspercent)+"%");
    progressbar.setMax(100);
    progressbar.setProgress(progresspercent);
Run Code Online (Sandbox Code Playgroud)

关键是获得一个变量,该变量从起始金额中减去当前金额,然后将其除以起始金额。

double progresspaid = new Double(startingamount-currentamount);
double progresspercentage = new Double((progresspaid / startingamount)*100);
Run Code Online (Sandbox Code Playgroud)

再次感谢,我真的很感谢人们帮助我学习 Java 和 android 开发,我是一名 VB.net 开发人员,所以其中一些对我来说仍然陌生。

reverse android progress-bar

2
推荐指数
1
解决办法
3516
查看次数

Android:屏幕旋转,破坏和服务connundrum

我已经从SDK演示中修改了蓝牙聊天示例,以便能够控制arduino供电的蓝牙LED矩阵.使用聊天程序,我可以通过蓝牙向显示器发送消息.我有一个问题.我做了两个屏幕布局,一个肖像和一个风景.这样我可以让界面占据手机上最大的空间,无论方向如何.

问题是如果手机旋转,则调用OnDestroy()以重新加载新布局(横向或纵向).在OnDestroy()例程中,我还会破坏蓝牙链接,如果它已建立:

   public void onDestroy() {
        super.onDestroy();
        // Stop the Bluetooth chat services
        if (mChatService != null)
            mChatService.stop();
        if (D)
            Log.e(TAG, "--- ON DESTROY ---");
    }
Run Code Online (Sandbox Code Playgroud)

在这里阅读其他帖子,我发现你可以通过向Manifest添加"android:configChanges ="orientation""来阻止服务被停止.这样做,当我旋转屏幕时,我的蓝牙链接到显示器不再终止,但现在屏幕不会以横向模式重绘.

为了解决这个问题,我正在考虑删除"if mchatservice ..."部分,它正在终止连接,但是当应用程序最终退出时,我仍然需要运行代码.

有没有办法让屏幕在旋转时重绘,而不会终止连接?如果没有,我想我总是可以将服务代码移动到OnPause()事件,但是如果应用程序失去了forground焦点,这将终止连接.

还有其他方法吗?

谢谢.

android screen rotation ondestroy

2
推荐指数
1
解决办法
4601
查看次数

Android:检查字符串是否包含数组中的任何值的方法?

我已经尝试搜索"Java检查字符串是否包含数组中的值",以及其他变体,但没有想出任何东西,所以希望有人可以帮助我.我有以下代码要清理:

if (dateint.contains("th")){
        dateint=dateint.substring(0, dateint.length()-2);
    } else if (dateint.contains("st")){
        dateint=dateint.substring(0, dateint.length()-2);
    } else if (dateint.contains("nd")){
        dateint=dateint.substring(0, dateint.length()-2);
    } else if (dateint.contains("rd")){
        dateint=dateint.substring(0, dateint.length()-2);
    }
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以执行以下操作(不是真正的代码,而是在代码中思考):

String[] ordinals = {"th", "st", "nd", "rd"};
if dateint.contains(ordinals) {
dateint=dateint.substring(0, dateint.length()-2);
}
Run Code Online (Sandbox Code Playgroud)

基本上检查数组中的任何值是否在我的字符串中.我正在尝试使用最少量的代码,以便它看起来比丑陋的if/else块更清晰,并且不使用for/next循环...这可能是我唯一的选择.

java arrays string

1
推荐指数
1
解决办法
2万
查看次数

将系统日期作为变量传递给 Kubernetes CronJob

我发现这个Pass date 命令作为 kubernetes cronjob 的参数 ,它是类似的,但没有解决我的问题。

我正在尝试使用 cronjob 备份 etcd,但 etcd 映像没有“date”命令。

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: backup
  namespace: kube-system
spec:
  concurrencyPolicy: Allow
  failedJobsHistoryLimit: 1
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - args:
            - -c
            - etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt
              --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt --key=/etc/kubernetes/pki/etcd/healthcheck-client.key
              snapshot save /backup/etcd-snapshot-$(DATE_CURR).db
            command:
            - /bin/sh
            env:
            - name: ETCDCTL_API
              value: "3"
            - name: DATE_CURR
              #value: $(date --date= +"%Y-%m-%d_%H:%M:%S_%Z")
              value: $(date +"%Y-%m-%d_%H:%M:%S_%Z")
            image: k8s.gcr.io/etcd:3.4.13-0
            imagePullPolicy: IfNotPresent
            name: backup
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: …
Run Code Online (Sandbox Code Playgroud)

cron etcd kubernetes

1
推荐指数
1
解决办法
3022
查看次数