小编Ale*_*ood的帖子

检测并处理需要登录的wifi

HttpClient在一个Android应用程序中使用4.1,并试图让我的应用程序的API请求被其中一个"你需要登录或支付wifi"屏幕拦截.

我想弹出一个允许用户登录的webview.

我一直试图拦截httpClient中的重定向,但我没有成功.

这就是我目前正在尝试的:

this.client = new DefaultHttpClient(connectionManager, params);

((DefaultHttpClient) this.client).setRedirectStrategy(new DefaultRedirectStrategy() {
    public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context)  {
        boolean isRedirect = Boolean.FALSE;
        try {
            isRedirect = super.isRedirected(request, response, context);
        } catch (ProtocolException e) {
            Log.e(TAG, "Failed to run isRedirected", e);
        }
        if (!isRedirect) {
            int responseCode = response.getStatusLine().getStatusCode();
            if (responseCode == 301 || responseCode == 302) {
                throw new WifiLoginNeeded();
                // The "real implementation" should return true here..
            }
        } else {
            throw new …
Run Code Online (Sandbox Code Playgroud)

android httpclient wifi

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

LoaderManager的范围是什么?

在LoaderManager中识别Loaders时,使用唯一ID.我问的是这些ID有多独特.

每个活动和片段都有自己的LoaderManager吗?片段是否使用他们附加的Activity的LoaderManager?应用程序是否只拥有一个LoaderManager?

如果您能告诉我如何更改您正在使用的LoaderManager,可以获得奖励积分.如果我希望我的Activity中的每个片段都使用相同的LoaderManager(其中一些是拉相同的数据并且共享Loaders会很好),那可能吗?

android android-fragments android-loadermanager android-support-library

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

LoaderManager的范围是什么?

使用Loaders创建Android应用程序时,每个活动和片段都应该有自己的LoaderManager吗?或者应该只有一个LoaderManager应用程序拥有?最后,用于识别LoaderManager课堂外可见特定内容的"唯一ID"是什么?

具体来说,我无法确定应用程序中哪些类应该实现这些LoaderCallback<Cursor>方法(即每个片段应该实现这些回调,还是我应该有一个片段实现回调并查询结果,必要时将它们发送到其他片段/活动) ?

在此先感谢能帮助我的人!我在网上找不到太多关于此的信息.

android android-loadermanager android-loader

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

onDestroy()同时"等待"onActivityResult()

我有一个有两个活动的应用程序:"A"和"B".

"A"用于startActivityForResult()产生"B",即它等待"B".现在,假设"B"在前景中.Android系统可以破坏活动"A"而不会破坏"B"吗?(如果是,那么当"B"完成时,例如在用户输入之后,必须重新创建活动"A"并由Android系统再次放到前台,我需要记住并将"A"恢复到其早期的UI状态. )

请注意,我不是在讨论进程终止(这是不同的情况:如果进程被终止,所有活动都被终止,并且onDestroy()未被调用或无法保证被调用).问题仅在于在等待子活动的结果时是否可以使用onDestroy().

java android ondestroy

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

调用initLoader()后,Loader无法启动?

我有一个片段,并且想要在单击按钮时启动加载器:

public class MyFragment extends Fragment {

    public void onActivityCreated() {
        super.onActivityCreated();

        Button btn = ...;
        btn.setOnClickListener(new OnClickListener() {
            public void onClick(View view) {
                getLoaderManager().initLoader(500, null, mMyCallback);
            }
        });
    }  

    private LoaderManager.LoaderCallbacks<String> mMyCallback = new  LoaderManager.LoaderCallbacks<String>() {

        @Override
        public Loader<String> onCreateLoader(int arg0, Bundle arg1) {
            Log.e(TAG, "LoaderCallback.onCreateLoader().");
            return new MyLoader(getActivity());
        }
    }
}

public class MyLoader extends AsyncTaskLoader<String> {
    public MyLoader(Context context) {
        super(context);
    }

    @Override
    public String loadInBackground() {
        Log.e(TAG, "Hi, running.");
        return "terrific.";
    }
}
Run Code Online (Sandbox Code Playgroud)

单击按钮后,我可以看到我的回调的onCreateLoader方法被调用,但创建的加载器实际上从未启动过.我们是否需要在加载器上调用forceLoad()来实际启动它?没有样本帖子这样做,

谢谢

java android android-fragments android-activity android-loadermanager

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

Android ContentProvider性能

我很好奇是否有人在查询ContentProvidervia ContentResolvervs SQLiteDatabase在同一进程中查询对象时进行了任何性能测试.我猜测ContentResolver查询会传回一个通过Binder(Android IPC)与数据库通信的Cursor.这意味着如果我通过Cursor100个Binder方法调用读取100个记录的内容.我的猜测是否正确,如果是这样,那将比在同一过程中访问数据库慢得多?

sqlite performance android ipc

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

隐藏活动没有完成()

我希望我的应用程序启动另一个活动/应用程序(在本例中为Browser应用程序),但是当用户按下Back按钮退出浏览器时,它们将返回到我的Activity.

我怎样才能使它这样他们就不会离开浏览器后,回来我的活动,如果他们后来重新启动我的应用程序时,Activity我的应用程序的堆栈是因为它以前(即不能finish(),因为这将删除当前Activity从堆)?

android

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

如何从managedQuery转换到LoaderManager/CursorLoader?

我正在开发一个针对API级别8(2.2,Froyo)的Android应用程序.我正在使用a ContentProvider,这很简单,我正在使用SimpleCursorAdapter填写我的列表视图,但我在SimpleCursorAdapter的文档中注意到,不推荐使用以下注释的无标记构造函数:

不推荐使用此构造函数.不鼓励使用此选项,因为它会导致在应用程序的UI线程上执行Cursor查询,从而导致响应能力较差甚至应用程序无响应错误.或者,使用带有CursorLoader的LoaderManager.

由于我的目标是API级别8,因此a LoaderManager不依赖于Activity.FragmentActivity兼容包中的类执行此操作,但我没有使用Fragments.

我的问题是:我应该如何LoaderManager/CursorLoader在针对11级以前API级别的应用中使用它?我是否被迫转换为Fragments或者我应该恢复到已弃用的SimpleCursorAdapter构造函数(但是使用一个AsyncTask来保持UI线程友好,这CursorLoader应该是什么)?

java android simplecursoradapter android-fragments android-loadermanager

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

使用CursorLoader查询SQLite DB并填充AutoCompleteTextView

我有一个我想查询的SQLite数据库.我想通过ICS定位Android 2.2.我遇到了关于如何执行此操作的文章,但它使用了弃用的代码(不是异步查询,而是在UI线程上).我已经阅读过,我可以使用CursorLoaderLoaderManager来执行此任务的首选,最佳实践方式(以免陷入UI线程).

问题是找到一个简洁的例子向我解释如何做到这一点.1)加载数据库,2)查询它,3)使用结果填充AutoCompletetextBox列表视图.

这样的例子存在吗?

sqlite android android-loadermanager android-cursorloader

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

在Android 4上自定义ActionBar选项卡

我正在尝试在ActionBar上自定义Tabs.我只想将标签对齐到手机屏幕,使其可以伸展各种屏幕.但我得到的只是:

在此输入图像描述

我用于主题的代码是这样的:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarTabTextStyle">@style/MyActionBarTabTextStyle</item>
    </style>

    <style name="MyActionBarTabTextStyle" parent="@android:style/Widget.Holo.Light.Tab">
        <item name="android:textSize">14dip</item>
        <item name="android:padding">0dip</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

是否可以减少字体并摆脱那些蓝线?

提前感谢您的帮助.

PS:Button也很奇怪.这是没有文字(虽然它应该是)......

java android android-layout android-theme android-actionbar

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