小编wol*_*ine的帖子

如何设置android布局以支持所有屏幕尺寸?

我正在开发一个关于android version2.2的程序.我已经阅读了很多关于支持多种屏幕尺寸的文档但仍然感到困惑 我设计了一个支持大屏幕和普通屏幕的布局文件,当我尝试使用小屏幕时,它不会调整布局以适应屏幕.我也在清单中使用了这段代码.

<supports-screens 
        android:resizeable="true"
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:anyDensity="true"
        />
Run Code Online (Sandbox Code Playgroud)

小屏幕的图像就在这里. 如何设置与小屏幕兼容的屏幕?在某处我通过使用文件夹"layout-small"找到了,但是如果我使用它,项目大小正在增加,我不希望这样,那么任何人都可以建议我这样做的最佳方法吗?

android android-emulator android-layout

21
推荐指数
4
解决办法
12万
查看次数

如何从日期格式"yyyy-MM-dd'T'HH:mm:ss.SSSZ"单独获取日,年,小时,分钟?

我正在做一个以"yyyy-MM-dd'T'HH:mm:ss.SSSZ"这种格式存储当前时间和日期的程序.我将它作为字符串存储在数据库中.当我收集数据时,我需要个人价值,如日,年,分,秒等.我怎么能这样做?

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String now = formatter.format(new Date());
Run Code Online (Sandbox Code Playgroud)

谢谢,

datetime android

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

有没有办法将JSONP格式转换为JSON?

我试图解析服务器的响应,我是这个主题的新手,不幸的是它是JSONP格式.我不知道如何解析JSONP格式,当我尝试使用JSON Parser时,它返回null值.谁能帮助我这样做...

提前致谢.

android jsonp

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

AbstractStringBuilder中的OutOfMemoryError enlargeBuffer

我在Stream中读取youtube响应并将其转换为String.使用以下代码:

网址:http://gdata.youtube.com/feeds/api/users/cnn/uploads?&v = 2&max-results = 25 &alt = json

private String convertStreamToString(InputStream is) {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }        
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    } 
Run Code Online (Sandbox Code Playgroud)

此代码在除Android 4.0设备之外的所有设备中都能正常运行.我得到以下logcat:

java.lang.RuntimeException: An error occured while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:278)
        at …
Run Code Online (Sandbox Code Playgroud)

stringbuilder android out-of-memory

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

如何在整个应用程序中定期检查Internet连接?

我正在做一个通过应用程序使用Internet连接的应用程序.如果在使用应用程序时丢失了Internet连接,则应用程序将强行关闭.为避免这种情况,如果互联网不可用,我想显示一条警报消息.我怎样才能做到这一点.在登录时,我正在使用以下代码检查连接.但是我如何在后台为整个应用程序执行此操作.

private boolean haveInternet(){
        NetworkInfo info = ((ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
        if (info==null || !info.isConnected()) {
                return false;
        }
        if (info.isRoaming()) {
                // here is the roaming option you can change it if you want to disable internet while roaming, just return false
                return true;
        }
        return true;
}
Run Code Online (Sandbox Code Playgroud)

谢谢..

android

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

Android网格视图水平滚动

我正在执行一项任务,从服务器检索图像并在应用程序的GridView中显示.此网格视图向上和向下滚动.但我想在菜单屏幕滚动时从左到右滚动此视图.是否可以使用网格视图?或者有更好的方法吗?请帮我这样做.

提前致谢.

android gridview horizontal-scrolling

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

通用图像加载器和查看寻呼机的图像缩放问题

我想在ImagePagerActivity中使用ImageViewZoom和Universal Image Loader.

我可以缩放图像,滑动到下一个图像.但是当图像处于变焦位置时,我正面临问题.

在此输入图像描述

如果图像被缩放并且我处于中心位置,如果我想要看到同一图像的右侧部分并向左滑动它将转到下一个图像.请帮我这样做.

这是我的XML代码:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="1dip" >

  <it.sephiroth.android.library.imagezoom.ImageViewTouch
     android:layout_weight="1"
     android:id="@+id/image"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:scaleType="fitCenter" />

  <ProgressBar
    android:id="@+id/loading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:visibility="gone" />

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

编辑:

谢谢NOSTRA,现在我可以用下面的代码控制缩放和滑动.但多点触控变焦的问题.我无法用两根手指进行缩放.

这是我以前的代码(用两根手指正常工作):

public class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {


        @Override
        public boolean onScale( ScaleGestureDetector detector ) {
            Log.d( LOG_TAG, "onScale" );
            float span = detector.getCurrentSpan() - detector.getPreviousSpan();
            float targetScale = mCurrentScaleFactor * detector.getScaleFactor();
            if ( mScaleEnabled ) {
                targetScale = Math.min( getMaxZoom(), Math.max( targetScale, getMinZoom()-0.1f ) );
                zoomTo( targetScale, detector.getFocusX(), detector.getFocusY() );
                mCurrentScaleFactor …
Run Code Online (Sandbox Code Playgroud)

android image-zoom android-viewpager universal-image-loader

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

如何在我的应用程序中播放vimeo视频?

我想在我的应用程序中播放vimeo视频.我可以从频道获取视频并在浏览器或vimeo应用程序中播放,但我希望视频能够在我的应用程序中播放.是否有任何API,如打开youtube.请帮我这样做.

现在我用这个在vimeo应用程序或浏览器中播放视频.

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://player.vimeo.com/video/"+vid_id)));
Run Code Online (Sandbox Code Playgroud)

android vimeo vimeo-android

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

片段中的空指针异常

我从其他片段开始一个片段时得到NullPointerException.我试图在动态启动片段后调用第二个片段中的方法.

这是我的logcat:

05-20 09:58:31.907: E/AndroidRuntime(2585): FATAL EXCEPTION: main
05-20 09:58:31.907: E/AndroidRuntime(2585): java.lang.NullPointerException
05-20 09:58:31.907: E/AndroidRuntime(2585):     at com.exercise.FragmentTest.MyFragment3.setImage(MyFragment3.java:22)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at com.exercise.FragmentTest.FragmentTestActivity$1.onClick(FragmentTestActivity.java:48)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at android.view.View.performClick(View.java:4204)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at android.view.View$PerformClick.run(View.java:17355)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at android.os.Handler.handleCallback(Handler.java:725)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at android.os.Looper.loop(Looper.java:137)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at android.app.ActivityThread.main(ActivityThread.java:5041)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at java.lang.reflect.Method.invokeNative(Native Method)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at java.lang.reflect.Method.invoke(Method.java:511)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-20 09:58:31.907: E/AndroidRuntime(2585):     at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

和我的主要活动代码: …

android nullpointerexception android-fragments

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

如何创建一些复杂的JSON数据?

我想创建格式如下的json数据:

{
   "Credential":{
      "ref1":"Test",
      "ref2":"test",
      "ref3":"test"
   },
   "ref4":"data"
}
Run Code Online (Sandbox Code Playgroud)

我尝试了很多,但我找不到办法做到这一点.谁能帮帮我吗. 编辑:

我可以输入如下数据:

   {
      "ref1":"Test",
      "ref2":"test",
      "ref3":"test"
   }
Run Code Online (Sandbox Code Playgroud)

提前致谢.

android json

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

Android eclipse - 收集首选项失败

我已将SDK更新到Android 4.4,当我创建一个新项目时,它显示错误.请帮我解决这个问题.

[2013-11-01 18:31:03 - Framework Resource Parser] Collect preferences failed, class junit/framework/TestCase not found in /home/android2/Desktop/adt-bundle-linux-x86/sdk/platforms/android-19/android.jar
Run Code Online (Sandbox Code Playgroud)

eclipse android

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

android datepickerDialog不应该接受将来的日期

我正在使用日期选择器对话框来选择用户的出生日期,因此我可以显示该对话框.但不应允许用户增加年份,日期或月份而不是现在的日期.我怎样才能做到这一点?

这是我的代码:

private int mYear;
     private int mMonth;
     private int mDay;
     static final int DATE_DIALOG_ID = 1;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.main);   

             Button pickDate = (Button) findViewById(R.id.but);
             pickDate.setOnClickListener(new View.OnClickListener() {
                     public void onClick(View v) {
                             showDialog(DATE_DIALOG_ID);
                     }
             });
             final Calendar c = Calendar.getInstance();
             mYear = c.get(Calendar.YEAR);
             mMonth = c.get(Calendar.MONTH);
             mDay = c.get(Calendar.DAY_OF_MONTH);             
     }
     @Override
     protected Dialog onCreateDialog(int id) {
             switch (id) {
             case DATE_DIALOG_ID:
                     return new DatePickerDialog(this,
                             mDateSetListener,
                             mYear, mMonth, mDay);
             }
             return null;
     }
     protected void …
Run Code Online (Sandbox Code Playgroud)

datetime android

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