小编Non*_*hoi的帖子

更新到23.3.0后Android支持库错误

我一直在使用android支持v4 23.1.1,并且最近尝试将其更新为23.3.0(这是被问到的最新版本)但是我收到以下错误:

错误:与依赖项"com.android.support:support-annotations"冲突.
app(23.3.0)和测试app(23.1.1)的已解决版本有所不同.
有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict.

到目前为止,我已经找到了这个https://code.google.com/p/android/issues/detail?id=206137

我去了两个链接,但我无法解决我的问题,我该如何解决这个问题?

编辑:

我在我的依赖项中有这些

compile 'com.android.support:support-v4:23.3.0'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:recyclerview-v7:23.3.0'
compile 'com.android.support:cardview-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
Run Code Online (Sandbox Code Playgroud)

以前所有的版本都是23.1.1,它更新后发生错误很好

编辑:

Gradle Version 2.10
Gradle Plugin Version 2.0.0
buildToolsVersion "23.0.3"
Run Code Online (Sandbox Code Playgroud)

android android-support-library

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

在CRUDRespository中更新或SaveorUpdate,有没有可用的选项

我正在尝试使用My Entity bean进行CRUD操作.CRUDRepository提供标准的方法find,deletesave但它有没有像一般的方法saveOrUpdate(Entity entity)是依次呼叫HibernateHibernateTemplate会话saveorUpdate()的方法.

CRUDRepository提供此功能的方式就是这样使用

@Modifying
@Query("UPDATE Space c SET c.owner = :name WHERE c.id = :id")
Integer setNameForId(@Param("name") String name, @Param("id")
Run Code Online (Sandbox Code Playgroud)

但这不是通用的,需要为完整的表单字段编写.如果有任何方法或者我可以获得Hibernate的会话或Spring HibernateTemplate的对象来解决这个问题,请告诉我.

spring spring-boot

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

Xamarin构建错误:错误APT0000:在<declare-styleable> ...中,无法找到属性

我收到了另一位开发人员的项目.我安装了我的机器.已配置具有所需组件的VS-2017.

Android SDK-Manager已安装相应的版本.Project配置为使用编译Android 7.1 (Nougat).

开始构建我得到一个错误

1>ERROR : error APT0000: In <declare-styleable> AppBarLayout, unable to find attribute android:keyboardNavigationCluster
Run Code Online (Sandbox Code Playgroud)

我不清楚,我是否需要设置此信息,或者是否需要此信息.

我收到了ERROR:在MenuView中,无法找到属性android:preserveIconSpacing错误:在SherlockSpinner中,无法找到属性android:popupPromptView.这两篇文章都没有帮助.

我重新检查了SDK-Tools,删除了该文件夹C:\Users\<user>\AppData\Local\Xamarin.

据我所知,该消息缺少一个属性,需要设置.

Resource.designer.cs我找到的项目文件中

public const int AppBarLayout_android_keyboardNavigationCluster = 2;
Run Code Online (Sandbox Code Playgroud)

名称接缝完全匹配.

有人能解释我这个错误吗?

有人可以解释我如何摆脱它以及如何解决未来类似的问题?

c# android xamarin.android xamarin visual-studio-2017

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

如何关闭Realm.getDefaultInstance打开的领域?

我正在使用领域来存储和检索数据.通常当我们打开一个领域来存储一些我们喜欢的数据时:

Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
// Copy the object to Realm
realm.copyToRealm(myObject);
realm.commitTransaction();
realm.close();
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我正在关闭这个领域.

但是当我检索一些数据时:

RealmResults<MyClass> results = Realm.getDefaultInstance().where(MyClass.class).findAll();
Run Code Online (Sandbox Code Playgroud)

我如何关闭这个领域?是否需要关闭?

android realm

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

Android Studio更新后的Java.lang.ClassNotFoundException

我从稳定的频道更新到Android Studio 2.1.我一做到这一点,我就得到了我的登录类的ClassNotFoundException,它在清单中声明了很长时间.在更新之前,我的应用程序编译正常.

com.myapp E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.myapp, PID: 29605
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myapp/com.myapp.Login}: java.lang.ClassNotFoundException: Didn't find class "com.myapp.Login" on path: DexPathList[[zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3023)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3294)
    at android.app.ActivityThread.access$1000(ActivityThread.java:210)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1704)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6938)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.myapp.Login" on path: DexPathList[[zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1094)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3013)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3294) 
    at android.app.ActivityThread.access$1000(ActivityThread.java:210) 
    at …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-studio-2.1

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

当应用程序的minSdkVersion为21时,我的活动应该延伸到什么程度?

我是Android和Android Studio的新手.我创建了一个新项目,并指定了minSdkVersion as 21target to 23.

完成AS创建活动后,我看到默认情况下MainActivity会扩展AppCompatActivity.

我在这里读到了AppCompatActivity

它表示它是使用支持库操作栏功能的活动Base类.

现在我的问题是:

  1. 由于我的应用程序的minSdkVersion为21,为什么我需要我的活动来扩展AppCompatActivity
  2. 为什么AS使我的活动默认扩展AppCompatActivity

  3. 我的活动是否有必要扩展AppCompatActivity或者仅仅考虑我的扩展活动就足够了minSdkVerion

  4. 如果我的行为不扩展AppCompatActivity,我会想念什么?

任何解释都会非常有帮助.谢谢

android appcompatactivity android-studio-2.0

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

Android绘图填充工具

我正在为Android制作一个绘图应用程序,我需要一些帮助添加填充工具.

我希望该工具能够填充填充,并且在Microsoft Paint中表现得像在手机上一样.

我有一个自定义视图,在画布上绘制路径.我为不同的笔和画笔绘制了不同的路径,我允许用户选择线条粗细和颜色.

当我做:

paint.setStyle(Paint.Style.FILL);
Run Code Online (Sandbox Code Playgroud)

而且我画画,我没有得到我想要的填充.

我已经得到了一些使用"Flood Fill Algorithm"的建议,但我无法弄清楚如何在我的代码中实现它.

我在哪里可以看到我想要做的一个例子?有没有人有示例代码向我展示如何使用我的android视图使该工具工作?

编辑:

CartoonView.java:

    public class CartoonView extends View {
        ArrayList<Paint> paints = new ArrayList<Paint>();
        ArrayList<Path> paths = new ArrayList<Path>();
        int color;
        int thickness;
        boolean pencilSelected;

    public boolean isPencilSelected() {
        return pencilSelected;
    }

    public void setPencilSelected(boolean pencilSelected) {
        this.pencilSelected = pencilSelected;
    }

    public ArrayList<Paint> getPaints() {
        return paints;
    }

    public void setPaints(ArrayList<Paint> paints) {
        this.paints = paints;
    }

    public ArrayList<Path> getPaths() {
        return paths;
    }

    public void setPaths(ArrayList<Path> paths) {
        this.paths …
Run Code Online (Sandbox Code Playgroud)

android android-canvas android-view

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

拍摄叠加边界内的图片

我正在尝试开发这个拍照的简单应用程序.一切都好.唯一的东西我在预览的中心有一个固定大小的椭圆形 imageview.图像的捕获工作正常,但问题是我想捕捉图像并自动裁剪它位于椭圆形imageview内.我不想要整个图像要保存,我只想要形状内部的图像部分.现在,我不知道该怎么办.花了几个小时在Google上寻求解决方案后,我决定放弃并来到这里.我不知道如何才能得到形状内部的那部分图像(那固定的椭圆形图像).

这是我的代码: -

 public class MainActivity extends Activity implements SurfaceHolder.Callback {

    Camera camera;
    SurfaceView surfaceView;
    SurfaceHolder surfaceHolder;
    boolean cameraview = false;
    LayoutInflater inflater = null;
    private ImageView ImgContainer;
    private Button btn;
    private ImageView mIvCaptureImage;
    FrameLayout frameLayout;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

        getWindow().setFormat(PixelFormat.UNKNOWN);
        frameLayout = (FrameLayout) findViewById(R.id.view);
        surfaceView = (SurfaceView) findViewById(R.id.camera_preview);
        ImgContainer = (ImageView) findViewById(R.id.Img_container);
        surfaceHolder = surfaceView.getHolder();
        surfaceHolder.addCallback(this);
        surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        // GuideBox box = new GuideBox(MainActivity.this); …
Run Code Online (Sandbox Code Playgroud)

android image android-custom-view android-camera android-imageview

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

iOS Swift 如何监控 UIViewController 生命周期

我是 iOS 开发的新手。如果这是一个非常基本的事情,请原谅我。

从我学到的东西到现在:

UIViewControllerclass 有点类似于ActivityAndroid 中的class。

viewDidLoad/viewWillAppear方法对onCreate/onStart方法

viewDidAppear方法对onResume方法

如果我在这里错了,请纠正我。

现在,Android我们可以通过实现一个Interface( ActivityLifecycleCallbacks) (有点类似于 iOS 中的协议)来监控哪些方法(包括其他生命周期方法)被触发/调用,它存在Application于任何 Activity的类中(特别是在扩展 Application 类的类中) )。

这意味着现在只要在 android 应用程序中有从一个屏幕到另一个屏幕的任何导航,就会触发/调用这些方法。

如何使用 Swift 在 iOS 中执行此操作?我如何知道用户当前所在的屏幕(UIViewcontroller)以及他正在导航的位置?

简而言之,我想编写一个独立的类来记录用户当前所在的屏幕(UIViewController)以及正在执行哪个生命周期方法(viewDidLoad、viewWillAppear 等)?

有人请帮帮我。

编辑:- 我不希望他们继承我的独立类而不是 UIViewController 类。

ios swift

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

android无法找到realm gradle依赖

我在构建时遇到此错误:

Failed to sync Gradle project 'myapp'
Error:Could not find io.realm:realm-android:0.88.3.
Required by:
    myapp:app:unspecified

Search in build.gradle files
Run Code Online (Sandbox Code Playgroud)

在我的项目级别gradle中,我添加了:

classpath "io.realm:realm-gradle-plugin:0.88.3"
Run Code Online (Sandbox Code Playgroud)

在我的模块级别:

compile 'io.realm:realm-android:0.88.3'
Run Code Online (Sandbox Code Playgroud)

如何解决这个错误?

项目级别:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0'
        classpath 'io.realm:realm-gradle-plugin:0.88.3'
    }
}
Run Code Online (Sandbox Code Playgroud)

模块级别:

apply plugin: 'com.android.application'
apply from: '../config/quality/quality.gradle'
apply plugin: 'realm-android'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "xxxxx"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

    buildTypes {
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix …
Run Code Online (Sandbox Code Playgroud)

android realm gradle

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