小编Sam*_*muh的帖子

AsyncTask,RejectedExecutionException和Task Limit

我使用AsyncTask从远程服务器获取大量缩略图并在网格视图中显示它们.问题是,我的网格视图一次显示20个缩略图,因此创建20个AsyncTasks并启动20个执行,每个缩略图一个.

我得到RejectedExecution在我的代码例外.我记得在某个地方读过AsyncTask一次可以在队列中拥有的任务数量有限,我可能会这样做.这个酒吧被解除了吗?

有没有办法增加这个限制?忽略这个异常是否安全?(通过一个空catch(RejectedException e){}块?)

我在Android 1.6模拟器上运行此代码,并在我的代码中运行API级别(minSDKVersion为3).[编辑:添加了SDK和API级别信息]

error-handling android android-asynctask

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

如何在Android中创建树视图?

Android中没有提供树状视图的控件.有一个ExpandableList视图,我怀疑它可用于创建一个.

你有没有尝试过这样的控制?如何在Android中实现这样的控件?

android

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

从适配器内部处理多个getView调用的最佳方法

我有ListView自定义ArrayAdapter.其中的每一行ListView都有一个图标和一些文本.这些图标在后台下载,缓存,然后使用回调,在各自的位置替换ImageViews.每次getView运行时都会触发从缓存或下载中获取缩略图的逻辑.

现在,据罗曼盖伊说:

"绝对不能保证调用getView()的顺序也不能保证多少次."

我已经看到这种情况发生了,对于一行大小为二的getView()被调用了六次!

如何更改代码以避免重复的缩略图获取请求并处理视图回收?

谢谢.

android listview

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

更改Android中布局的背景颜色

我有一个简单的Android应用程序,有3个按钮.当我点击第一个按钮时,我想要改变布局的背景颜色(现在是白色......当我按下按钮时,我想改变其他颜色).我怎样才能做到这一点?

在那个按钮上,我有一个myClickHndler事件

    public void myClickHandler(View view) {
    switch (view.getId()) {
    case R.id.Button01:
        text.setText("Button 1 was clicked");
        break;
    case R.id.Button03:
        //text.setText("Button 3 was clicked");
                    .................... // ?
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

android

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

适用于Android应用程序的SQLite优化

我们的Android应用程序中大约有7-8个表,每个表平均有大约8列.读取和写入操作都在数据库上执行,我正在尝试并尝试找到增强DataAccess层性能的方法.所以,我尝试了以下几点:

  1. 在where子句中使用位置参数(原因:这样sqlite使用相同的执行计划)
  2. 使用事务封装插入和更新(原因:默认情况下,每个数据库操作都包含在事务中.执行此操作将消除该开销)
  3. 索引:除了在主键和唯一键列上默认创建的索引之外,我没有创建任何显式索引.(原因:索引将改善搜索时间)

我已经提到了我在paranthesis中的假设; 如果我错了,请纠正我.

问题:

  1. 我可以在此列表中添加其他内容吗?我在某地读过,避免使用db-journal可以提高更新的性能?这是神话还是事实?如果推荐的话怎么办呢?

  2. SQLite3中是否允许嵌套事务?它们如何影响性能?问题是我有一个在循环中运行更新的函数,因此,我已将循环包含在事务块中.有时这个函数是从另一个函数中的另一个循环中调用的.调用函数还将循环包含在事务块中.这种事务嵌套如何影响性能?

  3. 我的查询中的where子句使用多个列来构建谓词.这些列可能不一定是主键或唯一列.我也应该在这些列上创建索引吗?为这样的表创建多个索引是一个好主意吗?

sqlite optimization android

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

在现有Android应用程序中集成Skype运行时

SkypekitSDK(beta)的二进制发行版附带了用于不同机器架构的二进制运行时(linux/win/mac-x86/arm-eabi).通常,为了整合和利用Skype功能,我们所做的是 -

  1. 启动运行时
  2. 通过TCP连接到它
  3. 然后传递命令协议消息(用于IM,音频/视频聊天).

每个Skype常见问题解答:
虽然没有适用于Android的公共版本,但有一个适用于ARM体系结构的Runtime,并且有可用于与此运行时通信的Java Wrappers.

题:

  1. 有没有人尝试在现有的Android应用程序中集成Skype运行时?
  2. 我们如何从命令行设置和启动Skype Runtime?我假设一旦弄清楚我可以使用Runtime API从我的应用程序调用相同的东西吗?
  3. 我们可以只打包所有armeabi文件并在应用程序初始化时加载它们,初始化运行时,然后在所述端口上连接它并传递命令协议消息吗?

关于如何做到这一点的任何指示?

谢谢.

android skype skype4java

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

将图像添加到mp3,然后使用ffmpeg将其转换为视频文件

我有以下文件:
1.一个jpeg图像
2.一个长度的mp3文件说(3分钟)

我想将其转换为.3gp视频.我该怎么做?

我尝试了以下内容:
使用jpeg图像创建了一个零长度(时间)的视频:

ffmpeg -f image2 -i temp_img.jpg temp_video.mpg
Run Code Online (Sandbox Code Playgroud)

然后,我尝试将视频和音频流混合为:

ffmpeg -i temp_sound.mp3 -i temp_video.mpg -vcodec mpeg video_finale.mpg
Run Code Online (Sandbox Code Playgroud)

在这样做我得到:一些错误消息,如"无法确定编解码器(视频:0x000)"

请帮忙.

谢谢.

ffmpeg

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

Android上的OAuth + Twitter:回调失败

我的Android应用程序使用Java OAuth库,在此处可以在Twitter上进行授权.我能够获取请求令牌,授权令牌并获得确认但是当浏览器尝试回调URL以重新连接我的应用程序时,它不使用我在代码中提供的URL,而是使用我在注册时提供的URL用Twitter.

注意:
1.在使用twitter注册我的应用程序时,我提供了一个假设的回调网址:http://abz.xyc.com 并将应用程序类型设置为浏览器.
2.我在我的代码"myapp"中提供了一个回调网址,并为我的活动添加了一个意图过滤器,其中Browsable类别和数据方案为"myapp".
3.授权时调用的URL确实包含我在代码中指定的回调URL.

知道我在这里做错了什么吗?

相关守则:

public class FirstActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        OAuthAccessor client = defaultClient();
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setData(Uri.parse(client.consumer.serviceProvider.userAuthorizationURL + "?oauth_token="
                + client.requestToken + "&oauth_callback=" + client.consumer.callbackURL));

        startActivity(i);

    }

    OAuthServiceProvider defaultProvider()
    {
        return new OAuthServiceProvider(GeneralRuntimeConstants.request_token_URL,
                GeneralRuntimeConstants.authorize_url, GeneralRuntimeConstants.access_token_url);
    }

    OAuthAccessor defaultClient()
    {
        String callbackUrl = "myapp:///";
        OAuthServiceProvider provider = defaultProvider();
        OAuthConsumer consumer = …
Run Code Online (Sandbox Code Playgroud)

twitter android oauth twitter-client

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

Android:下载数据时处理意外的互联网断开连接

我这里有一个将数据从远程服务器下载到文件的功能.我对我的代码仍然没有信心.我的问题是,如果在读取流并将数据保存到文件中并且突然我在互联网上断开连接时,下面的这些捕获异常会真的能够捕获到那种事件吗?如果没有,你能建议如何处理这类事件吗?

注意:我在一个线程中调用此函数,以便不阻止UI.

public static boolean getFromRemote(String link, String fileName, Context context){ 
        boolean dataReceived = false;
        ConnectivityManager connec =  (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

            if (connec.getNetworkInfo(0).isConnected() || connec.getNetworkInfo(1).isConnected()){
                try {
                        HttpClient httpClient = new DefaultHttpClient();
                        HttpGet httpGet = new HttpGet(link);
                        HttpParams params = httpClient.getParams();
                        HttpConnectionParams.setConnectionTimeout(params, 30000);
                        HttpConnectionParams.setSoTimeout(params, 30000);
                        HttpResponse response;
                        response = httpClient.execute(httpGet);
                        int statusCode = response.getStatusLine().getStatusCode();
                        if (statusCode == 200){
                            HttpEntity entity = response.getEntity();



                            InputStream in = null;
                            OutputStream output = null;

                            try{
                                in = entity.getContent();

                                String secondLevelCacheDir = context.getCacheDir() + fileName;

                                File imageFile …
Run Code Online (Sandbox Code Playgroud)

java android exception-handling

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

用于监控HTTP流量的工具

我的iPhone上有一个应用程序发出Http请求; 是否可以使用某些工具查看HTTP流?

我在我的Windows PC上使用独立版本的(IEInspector)HttpAnalyzer工具来监控来自所有进程的HTTP流量,包括Android手机上的应用程序(感谢android调试桥接口).我可以为iPhone应用程序使用类似的OS X工具吗?这甚至是允许的吗?

提前致谢.

iphone macos http-monitor

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