小编Mar*_*tyn的帖子

宁静的API服务

我正在寻找一个可以用来调用基于Web的REST API的服务.

基本上我想在app init上启动服务然后我希望能够要求该服务请求URL并返回结果.与此同时,我希望能够显示进度窗口或类似的东西.

我已经创建了一个目前使用IDL的服务,我已经阅读过你只需要这个用于跨应用程序通信的地方,所以请考虑这些需求,但不确定如何在没有它的情况下进行回调.此外,当我点击post(Config.getURL("login"), values)应用程序似乎暂停一段时间(似乎很奇怪 - 认为服务背后的想法是它运行在不同的线程!)

目前我有一个带post的服务,里面有http方法,一些AIDL文件(用于双向通信),一个ServiceManager,它处理启动,停止,绑定等服务,我正在动态创建一个具有特定代码的Handler根据需要进行回调.

我不希望任何人给我一个完整的代码库来工作,但一些指针将不胜感激.

代码(大部分)已满:

public class RestfulAPIService extends Service  {

final RemoteCallbackList<IRemoteServiceCallback> mCallbacks = new RemoteCallbackList<IRemoteServiceCallback>();

public void onStart(Intent intent, int startId) {
    super.onStart(intent, startId);
}
public IBinder onBind(Intent intent) {
    return binder;
}
public void onCreate() {
    super.onCreate();
}
public void onDestroy() {
    super.onDestroy();
    mCallbacks.kill();
}
private final IRestfulService.Stub binder = new IRestfulService.Stub() {
    public void doLogin(String username, String password) {

        Message msg = new Message();
        Bundle data = new …
Run Code Online (Sandbox Code Playgroud)

api rest android web-services

220
推荐指数
6
解决办法
12万
查看次数

如何将远程主服务器合并到本地分支

我有一个项目的本地分支("configUpdate"),我从其他人的项目中分叉,我已经对它做了大量的更改,并希望将他们所做的更改合并到我的本地分支.

我试过了

git pull --rebase origin configUpdate
Run Code Online (Sandbox Code Playgroud)

但它没有抓住最新的变化 - 我怎么能合并这两个?(也是奖励积分我对pull --rebase命令做了什么?)

git branch pull

218
推荐指数
4
解决办法
32万
查看次数

更改searchview小部件的背景drawable

我正在尝试更改位于Android操作栏searchview小部件中的drawable.

目前它看起来像这样: 在此输入图像描述

但我需要将蓝色背景改为红色.

我尝试过很多东西,不用滚动我自己的搜索小部件,但似乎没有任何工作.

有人能指出我改变这个方向的正确方向吗?

android styles android-actionbar searchview background-drawable

122
推荐指数
5
解决办法
7万
查看次数

IntelliJ中的Builder模式代码生成

有没有办法在IntelliJ中自动编写Builder模式?

例如,给定这个简单的类:

class Film {
   private String title;
   private int length;

   public void setTitle(String title) {
       this.title = title;
   }

   public String getTitle() {
       return this.title;
   }

   public void setLength(int length) {
       this.length = length;
   }

   public int getLength() {
       return this.length;
   }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法,我可以让IDE生成这个或类似的:

public class FilmBuilder {

    Film film;

    public FilmBuilder() {
        film = new Film();
    }

    public FilmBuilder withTitle(String title) {
        film.setTitle(title);
        return this;
    }

    public FilmBuilder withLength(int length) {
        film.setLength(length);
        return this;
    }

    public Film build() …
Run Code Online (Sandbox Code Playgroud)

code-generation design-patterns intellij-idea builder-pattern

76
推荐指数
6
解决办法
3万
查看次数

如何使用Charles Web Proxy和Windows上的最新Android模拟器配置SSL证书?

我想使用Charles Web代理在Windows中使用Android模拟器.我已经成功设置了查尔斯,并使用命令行启动了模拟器:

emulator -http-proxy 127.0.0.1:8888 @NexusOne
Run Code Online (Sandbox Code Playgroud)

我可以看到来自Charles的Android模拟器的流量,但问题是我正在开发使用SSL的实时API,我不知道如何配置Charles让我玩发送的数据和接收.我知道在Charles中设置SSL的两个方面(代理 - >代理设置 - > SSL和代理 - >客户端SSL证书)但我找不到任何可以让我做我想做的事情的体面文档.有没有人经历过Charles或者一般的证书,他们可以解释如何实现这一目标.也许证书的入门书也会很好,因为我似乎缺乏知道这为何如此困难的原因.

ssl android ssl-certificate webproxy charles-proxy

60
推荐指数
6
解决办法
15万
查看次数

以编程方式在Android应用中清除缓存

什么是以编程方式清除android应用程序中的缓存的正确方法.我已经使用了以下代码,但它看起来不适合我

@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    clearApplicationData();
}

public void clearApplicationData() {
    File cache = getCacheDir();
    File appDir = new File(cache.getParent());
    if (appDir.exists()) {
        String[] children = appDir.list();
        for (String s : children) {
            if (!s.equals("lib")) {
                deleteDir(new File(appDir, s));
                Log.i("EEEEEERRRRRRROOOOOOORRRR", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************");
            }
        }
    }
}

public static boolean deleteDir(File dir) {
    if (dir != null && dir.isDirectory()) {
        String[] children = dir.list();
        for (int i …
Run Code Online (Sandbox Code Playgroud)

android

57
推荐指数
5
解决办法
9万
查看次数

将对象传递给Fragments

我最近一直在使用很多Fragments并且一直在使用两种不同的方法将对象传递给Fragments,但我能看到的唯一区别是,在下面的FragmentOne采用的方法中,传入的对象必须实现Serializable界面(以及与之相关的一切).

使用一个而不是另一个有什么好处吗?

public class FragmentOne extends Fragment {
    public static final String FRAGMENT_BUNDLE_KEY = 
        "com.example.FragmentOne.FRAGMENT_BUNDLE_KEY";

    public static FragmentOne newInstance(SomeObject someObject) {
        FragmentOne f = new FragmentOne();
        Bundle args = new Bundle();
        args.putSerializable(FRAGMENT_BUNDLE_KEY, someObject);
        f.setArguments(args);
        return f;
    }

    public SomeObject getSomeObject() {
        return (SomeObject) getArguments().getSerializable(FRAGMENT_BUNDLE_KEY);
    }
}
Run Code Online (Sandbox Code Playgroud)

public class FragmentTwo extends Fragment {
    SomeObject mSomeObject;  

    public static FragmentTwo newInstance(SomeObject someObject) {
        FragmentTwo fragment = new FragmentTwo();
        fragment.setSomeObject(someObject);
        return fragment;
    }

    public void setSomeObject(SomeObject someObject) …
Run Code Online (Sandbox Code Playgroud)

android fragment android-bundle

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

与64位Kubuntu中的Subclipse不兼容的JavaHL库

我试图让Subversion在64位Kubuntu 11.10中使用Eclipse 3.7,但是遇到了问题.我已经安装的Subclipse 1.8.1,安装"libsvn-java的"并增加-Djava.library.path=/usr/lib/jni/-vmargs的在/usr/lib/eclipse/eclipse.ini文件中,但现在收到错误信息:

Incompatible JavaHL library loaded.  1.7.x or later required.
Run Code Online (Sandbox Code Playgroud)

并且似乎无法找到如何升级我的JavaHL.我重新安装了subclipse插件,它显然也安装了JavaHL 1.7.1版本,所以也许这不是JavaHL没有安装的情况,但也许是不可能的? - 有想法的人吗?

**编辑**

如下所述,接受的答案中提供的链接已停止工作,但您可以在此处下载更新的文件(归功于Rekhyt),但您需要通过添加http://subclipse.tigris.org安装的subclipse版本1.8.x. /update_1.8.x到Eclipse

我首先安装了subclipse 1.8然后按顺序安装这些文件:

  1. libsvn-java_1.7.2-0ubuntu0〜ppa1_amd64.deb
  2. subversion_1.7.2-0ubuntu0〜ppa1_amd64.deb
  3. libsvn1_1.7.2-0ubuntu0〜ppa1_amd64.deb

如果您需要32位进入启动板页面并单击页面底部的"subversion - 1.7.2-0ubuntu0~ppa1"链接 - 这将显示所有相关文件

eclipse javahl

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

Android:从可点击文本启动活动

有什么办法可以从一个字符串的一部分启动一个活动.

例如,我在strings.xml文件中有这个:

<string name="clickable_string">This is a <u>clickable string</u></string>
Run Code Online (Sandbox Code Playgroud)

我希望u标签之间的文本加下划线,并在插入时单击时启动活动TextView

android text hyperlink launch

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

使用兼容性库在ICS中未显示选项菜单

我无法在使用android-support-v4.jar库的项目中的ICS片段中显示选项菜单.我正在使用Galaxy Nexus手机进行测试.

我们没有使用操作栏,并且需要该应用程序兼容2.2+.我们在ICS中的活动中没有看到任何选项菜单(FragmentActivity不支持onCreateOptionsMenu)

我可以在之前版本的Android中使用菜单 - 我有所有正确的框架来启用选项菜单(如下所示)但ICS中没有显示任何内容.单步执行代码时,不会调用onCreateOptionsMenu.有人可以建议修复吗?

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;

public class SuperFragment extends Fragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        setHasOptionsMenu(true);
        super.onCreate(savedInstanceState);
    }

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.display_options_actions, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch(item.getItemId()) {
            case R.id.menu_sign_in:
                break;
            case R.id.menu_sign_out:
                break;
        }
        return true;
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

清单文件中的目标操作系统版本:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="14"/>
Run Code Online (Sandbox Code Playgroud)

android android-optionsmenu android-4.0-ice-cream-sandwich android-support-library

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