小编Add*_*dev的帖子

在AndroidTestCase中调用MockitoAnnotations.initMocks()时的NPE

试图在我的AndroidTestCase中使用mockito.我将依赖项添加到build.gradle:

final DEXMAKER_VERSION = '1.2'

dependencies {
    // ...
    androidTestCompile "com.google.dexmaker:dexmaker:${DEXMAKER_VERSION}"
    androidTestCompile "com.google.dexmaker:dexmaker-mockito:${DEXMAKER_VERSION}"
    androidTestCompile 'org.mockito:mockito-core:1.10.19'

}
Run Code Online (Sandbox Code Playgroud)

带有mockito初始化的TestCase:

public class UsersListPresenterTest extends AndroidTestCase {

    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
    }

    public void testInitialize() throws Exception {

    }
}
Run Code Online (Sandbox Code Playgroud)

但是只要我向类中添加任何属性,即使在添加任何注释之前,测试也会开始崩溃:

public class UsersListPresenterTest extends AndroidTestCase {

    String mockString;

    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
    }

    public void testInitialize() throws Exception {

    }
}
Run Code Online (Sandbox Code Playgroud)

使用以下堆栈跟踪

java.lang.NullPointerException: Attempt to invoke virtual method 
    'java.lang.Class java.lang.Object.getClass()' on a null object reference
at com.google.dexmaker.mockito.DexmakerMockMaker.getInvocationHandlerAdapter(DexmakerMockMaker.java:80) …
Run Code Online (Sandbox Code Playgroud)

java testing android mockito gradle

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

使ImageView(及其src)适合布局宽度并使其高度成比例

你能帮我配置我的布局吗?我没有达到我想要的目标:

我将imageview背景设置为红色以解释我想要的内容:

图像的宽度小于布局宽度.我希望图像按比例增长保持其纵横比直到达到第一张图像的方面(我用photoshop手动修改)但是当设置width ="fill_parent"时,结果是第二张图像并将宽度和高度设置为" fill_parent"结果是第三张图片.

我试图与ScaleType结合使用但没有成功

我怎样才能实现第一个选择?谢谢

在此输入图像描述

java layout android

11
推荐指数
2
解决办法
5580
查看次数

以编程方式创建径向渐变

我试图以编程方式重现以下渐变.

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient 
        android:startColor="@color/startcolor" 
        android:centerColor="#343434"
        android:endColor="#00000000"
        android:type="radial"
        android:gradientRadius="140"
        android:centerY="45%"
     />
    <corners android:radius="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

如何以编程方式设置参数?谢谢

        android:centerY="45%"
Run Code Online (Sandbox Code Playgroud)

java android

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

如何避免Admob阻止UI线程

我发现我的一些活动在发布时被阻止了.所以我在一个新项目中编写了该代码:

public class LayoutTestActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        long now = System.currentTimeMillis();

        new AdView(this, AdSize.BANNER, "MY_ID");

        Log.e("Admob Test","The UI was blocked "+(System.currentTimeMillis()-now)+"ms");
    }
}
Run Code Online (Sandbox Code Playgroud)

结果是,第一次创建AdView对象会阻止UI线程1到2秒.

有没有办法避免这种情况?

谢谢

java android admob

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

意图在Android中的相机或图库之间进行选择

我正试图发起一个意图从相机或Android的画廊中选择一个图像.我检查过这篇文章,目前我的代码即将开始工作:

private Intent getPickIntent() {
    final List<Intent> intents = new ArrayList<Intent>();
    if (allowCamera) {
        setCameraIntents(intents, cameraOutputUri);
    }
    if (allowGallery) {
        intents.add(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI));
    }

    if (intents.isEmpty()) return null;
    Intent result = Intent.createChooser(intents.remove(0), null);
    if (!intents.isEmpty()) {
        result.putExtra(Intent.EXTRA_INITIAL_INTENTS, intents.toArray(new Parcelable[] {}));
    }
    return result;
}

private void setCameraIntents(List<Intent> cameraIntents, Uri output) {
    final Intent captureIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    final PackageManager packageManager = context.getPackageManager();
    final List<ResolveInfo> listCam = packageManager.queryIntentActivities(captureIntent, 0);
    for (ResolveInfo res : listCam) {
        final String packageName = …
Run Code Online (Sandbox Code Playgroud)

java android android-intent

11
推荐指数
2
解决办法
8081
查看次数

如何在AndroidStudio中从SVN导入模块

我正在从Eclipse迁移到Android Studio.

在我的Eclipse工作区中,我有以下结构:

  • MyApp(指向SVN repo 1)
  • 图书馆B(指向SVN回购2)
  • 图书馆C(指向SVN回购3)

当我将其导入AndroidStudio时,它会创建一个包含3个模块的项目:

  • 应用
  • LibraryB
  • LibraryC

LibraryB和LibraryC用于多个项目中,因此我需要在单独的SVN中提交它们并将其作为svn:external包含在MyApp中.

这些是我正在尝试的步骤,但我认为我做错了:

  • 选择整个项目:VCS->启用版本控制集成 - > Subversion
  • 右键单击LibraryB - >颠覆- >共享目录,选择该模块的SVN位置,然后用鼠标右键单击LibraryB - >颠覆- >提交目录排除build文件夹.

此时模块位于SVN仓库中,因此我尝试将其导入新项目.我创建了一个新项目.

如何将模块签出到新项目,允许将模块中的更改提交到模块的SVN?

我试过了:

  • 在新项目中,我创建了一个名为libraryB的文件夹,然后将模块文件带到VCS-> Checkout From Version Control.此时我提示You have checked out an Android Studio project file C:/path/to/Project/libraryB/build.gradle我按否,然后尝试.项目结构 - > +模块 - >导入现有项目(作为模块) - >选择路径C:/path/to/Project/libraryB但向导显示错误Select modules to import
  • 在新项目中设置SVN配置,然后右键单击 - > Subversion-> Create external.启用复选框检出后,选择svn路径和本地文件夹.检索文件但不作为模块.

谢谢

java android intellij-idea android-studio

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

自动检测Java中的文本语言(Android)

对于我的应用程序,我希望,在给定文本的情况下,检测其语言(例如ISO代码和机会).我想知道是否有某种Web服务或java库这样做.

提前致谢

java android

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

如何在cocoa/iOS中使用SHA哈希

给定消息和salt我如何编码它返回哈希字符串?

我需要重现php功能:

hash_hmac('sha256','message','salt');
Run Code Online (Sandbox Code Playgroud)

谢谢

cocoa cocoa-touch objective-c ios

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

尝试加载WebView时"使用完整操作"

我正在Android应用程序中测试内置的WebView.我的问题是以下代码

WebView webView = (WebView) findViewById(R.id.webView1);
webView.loadUrl("http://google.com");
Run Code Online (Sandbox Code Playgroud)

触发一个意图(消化已安装的浏览器以打开Web),而不是在内置的WebView中打开它.我应该怎么做才能避免这种情况?

java android android-webview

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

视口适合屏幕宽度和大图像

我正在尝试使用WebView显示内置多点触控的大图像,并尝试避免内存崩溃.

我这样设置webView:

    setInitialScale(20);
    WebSettings settings = getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setUseWideViewPort(true);
    settings.setLoadWithOverviewMode(true);
    settings.setSupportZoom(true);
    settings.setBuiltInZoomControls(true);
Run Code Online (Sandbox Code Playgroud)

然后加载以下代码:

<head>
<meta
    name="viewport"
    content="width=device-width, user-scalable=yes"
/>

</head>
<body
    style="margin: 0; padding: 0">
    <img
        alt="image"
        src="THE_SRC_GOES_HERE"
        id="theImage"
    >
</body>
Run Code Online (Sandbox Code Playgroud)

问题是,如果它加载一个中等图像(例如1600x1200),它工作得很好,图像适合屏幕宽度.

在此输入图像描述

但是如果在我的示例中图像更大7300x5200,它看起来像放大并禁用缩小.

在此输入图像描述

如果你想测试图像网址是:

img1& img2

注意:我不是那些图像的所有者,我只是用它进行测试

html java android webview

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