小编Rau*_*nak的帖子

创建GSON对象

如何使用Google Gson创建json对象?以下代码创建一个看起来像的json对象{"name":"john"}

JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("name", "john");
Run Code Online (Sandbox Code Playgroud)

如何像这样创建一个jSon对象?

{"publisher":{"name":"john"}}
Run Code Online (Sandbox Code Playgroud)

java json gson

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

在片段视图之间切换

在xml布局文件中声明片段的标准方法是

<LinearLayout ...> 
    <fragment class="com.example.SomeFragment"
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

其中SomeFragment是一个定义的java类

class SomeFragment extends Fragment { 
    ... 
}
Run Code Online (Sandbox Code Playgroud)

可以说,我有3个片段; fragment1,fragment2和fragment3.当用户启动应用程序时,我将它们显示为fragment1,当他们点击按钮时,我将fragment1替换为fragment2等.

在单个布局xml文件中定义3个片段的最佳方法是什么?

android android-layout android-fragments

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

java.net.SocketException:打开的文件太多

我有一个java应用程序运行得很好(在Ubuntu 10.04上)几个小时,直到它命中"java.net.SocketException:太多打开的文件".Sender.java的代码可以在这里找到

难道是因为我创造的一个新实例HttpPut,并HttpPost为每个线程?我正在使用apache-commons HTTPClient 4.

这是异常日志:

java.net.SocketException: Too many open files
    at java.net.Socket.createImpl(Socket.java:414)
    at java.net.Socket.connect(Socket.java:544)
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:133)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
    at com.marketplace.io.Sender.doBasicHttpPost(Sender.java:434)
    at com.marketplace.io.Sender.appVisualExists(Sender.java:223)
    at com.marketplace.io.Sender.addVisualToCollection(Sender.java:350)
    at com.marketplace.service.ImageThread.run(ImageThread.java:136)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
Run Code Online (Sandbox Code Playgroud)

java apache-httpclient-4.x

19
推荐指数
3
解决办法
7万
查看次数

在Android中获取App图标

我在检索安装的Android应用程序的图标时遇到了一些麻烦.以下代码返回所有应用程序的图标,但是,某些应用程序返回带有小图标(可能来自drawable - ldpi文件夹),而某些应用程序带有大图标.

List<PackageInfo> package = getPackageManager().getInstalledPackages(0);

for(PackageInfo p : package){
    iApp.icon = p.applicationInfo.loadIcon(getPackageManager()); 
}
Run Code Online (Sandbox Code Playgroud)

我如何获得大小相同的图标,就像Android的"管理应用程序"部分一样?

android

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

如何获取用户在Android设备上安装的应用列表?

我目前正在使用以下代码:

List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
Run Code Online (Sandbox Code Playgroud)

但它会返回由设备制造商和我安装的应用程序.如何限制它以便只返回我安装的应用程序?

android installed-applications android-package-managers android-applicationinfo

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

当inputType ="textpassword"时,EditText提示显示额外的空格

只是想知道,我是唯一一个遇到这种"奇怪"行为的人.

在我的活动中放置EditText并将其inputType ="textPassword"设置如下:

<EditText android:text="" android:id="@+id/EditText01" 
            android:hint="This is a hint" android:inputType="textPassword" 
            android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>
Run Code Online (Sandbox Code Playgroud)

提示在单词之间显示更大/双倍的空格.

如果我删除inputType属性,它将恢复正常.我找不到有关此行为的已知问题.

BTW-如果你想知道为什么这很重要(它不是那么多)尝试将两个EditText小部件一个放在另一个之下并将其中一个的inputType设置为"textpassword"它看起来不太好.有关如何更改密码或其他edittexts以使用相同格式的任何想法?

谢谢

PS.首先在这里添加了一个问题:http://groups.google.com/group/android-developers/browse_thread/thread/88738bb8d8046f6f,但我找不到答案.

android android-edittext

10
推荐指数
2
解决办法
2830
查看次数

等待线程完成后再继续

当用户启动我的Android应用程序时,我会启动2个线程在后台进行一些处理.thread_1在客户端上进行一些计算,而thread_2从服务器获取一些数据.一切正常.没有线程修改UI.我有两个跟进问题.

new Thread(new Runnable(){
    @Override
    public void run(){
        MyClass.someStaticVariable = doSomeCalculations();
    }
}).start();
Run Code Online (Sandbox Code Playgroud)
  1. 从线程的run()方法检索数据的最佳实践是什么?我目前有一个静态变量,我将相关计算数据/获取数据分配给它.或者是否建议使用Handler类从线程中获取数据?我想如果他们想要更新UI,只使用处理程序.

    while(true)
    {
        if (!thread1.isAlive() && !thread2.isAlive())  
        {
            startActivity(intent)
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我需要等到两个线程都完成后再通过Intent从两个线程传递数据.我怎样才能做到这一点?我可以使用上面显示的代码来完成它,但这似乎是错误的.

java multithreading android

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

在不支持PagedResultsControl的LDAP服务器上进行分页

我正在尝试使用Spring LDAP(版本2.3.2)获取LDAP服务器上的所有条目.在我的代码中,我使用了PagedResultsDirContextProcessor对所有结果进行分页.这在支持的服务器上工作正常PagedResultsControl.

但是,我现在需要连接到不支持的LDAP服务器PagedResultsControl.如何在不使用的情况下获取所有条目PagedResultsControl

java jndi ldap ldap-query spring-ldap

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

HTTP-POST图像到Ruby on Rails应用程序

我在java中有一个字节数组形式的图像.我正在尝试将该图像上传到我的Ruby on Rails应用程序,该应用程序使用了Paperclip gem.我的Rails模型如下所示:

class App < ActiveRecord::Base
  has_attached_file :image
end
Run Code Online (Sandbox Code Playgroud)

当我执行java代码时,我得到了HHTTP/1.1 302 Found我的rails应用程序的响应. 更新了java HTTP-Post方法. 这是我用于HTTP-Post的新java代码:

public void postFile(byte[] image) throws ClientProtocolException, IOException{
    HttpClient httpclient = new DefaultHttpClient();
    httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
    HttpPost httppost = new HttpPost("http://localhost:3000/apps");

    ContentBody cb = new ByteArrayBody(image, "image/jpg", "icon.jpg");
    //ContentBody cb = new InputStreamBody(new ByteArrayInputStream(image), "image/jpg", "icon.jpg");

    MultipartEntity mpentity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
    mpentity.addPart("image", cb);
    httppost.setEntity(mpentity);

    HttpResponse response = httpclient.execute(httppost);
    System.out.println(response.getStatusLine());
}
Run Code Online (Sandbox Code Playgroud)

这是rails控制台上的新调试:

Started POST "/apps" for 127.0.0.1 at Mon Jan 31 00:26:07 +0000 2011 …
Run Code Online (Sandbox Code Playgroud)

java http-post paperclip ruby-on-rails-3

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

Facebook和Twitter在Android应用程序中实时提供

我想在我的android应用程序中显示Facebook和Twitter的实时馈送.就像在这个页面中一样.espn.com.怎么做?

我应该去android中的html,css吗?

谢谢

twitter android facebook cordova

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