Questions tagged «android»

Android是Google的移动操作系统,用于对数字设备(智能手机,平板电脑,汽车,电视,Wear,Glass和IoT)进行编程或开发。对于与Android相关的主题,请使用特定于Android的标签,例如android-intent,android-activity,android-adapter等。对于与开发或编程无关但与Android框架相关的问题,请使用以下链接:https:// android.stackexchange.com。

7
Android Studio的调试器不会在库模块内的断点处停止
目前,我正在开发基于第三方代码的Android应用。我开始设置断点来理解代码,并很快遇到了问题。突然我无法让Android Studio停止在断点处了。 我试图在onCreate方法的内部,按钮的内部设置断点OnClickListener-没有任何效果。现在,我发现它唯一起作用的地方是应用模块内部。由于该项目在app模块中只有一个活动类,而其他所有内容都在库模块中提供了,实际上我根本无法调试。 我认为AndroidManifest.xml中存在问题,或者build.gradle文件中更可能存在问题。当我刚从Eclipse切换到Android Studio时,所有这些东西对我来说都是很新的。 如果我在应用程序运行时将鼠标悬停在库断点上,它会告诉我“在第...行未找到可执行代码”。我认为这是造成问题的原因,但是我不知道如何解决。 在build.gradle中的条目中是否有任何“通常的可疑对象”可能引起我的问​​题? 我已经清理过我的项目,并且使缓存无效,但是没有成功。我什至尝试过建议<activity>在库模块内为其中的片段添加条目。 编辑:我正在使用最新版本的Android Studio(从2月18日开始的1.1.0版),应该已修复了一段时间前存在的类似错误。 app模块中build.gradle的内容: apply plugin: 'com.android.application' android { compileSdkVersion 19 buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { minSdkVersion Integer.parseInt(project.MIN_SDK) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) } signingConfigs { release { keyAlias 'xxx' keyPassword 'xxx' storeFile file('xxx') storePassword 'xxx' } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' …

17
在Mac中设置ANDROID_HOME环境变量
我是使用Salesforce SDK开发本机应用程序的新手。我尝试使用ForceDroid工具从命令行创建android项目,但是设置名为ANDROID_HOME的环境变量时出现问题。 但是我不知道如何设置这个变量。 我附上屏幕截图以正确描述我的问题。

11
在TextInputLayout XML中禁用/删除浮动标签提示文本
这似乎违反直觉,但是有没有办法禁用或删除其中的浮动标签提示TextInputLayout呢?我想使用TextInputLayout而不是仅使用的原因EditText是针对TextInputLayout提供的计数器。 这是我到目前为止的内容: <android.support.design.widget.TextInputLayout android:id="@+id/textContainer" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="vertical" app:counterEnabled="true" app:counterMaxLength="100"> <EditText android:id="@+id/myEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="top|left" android:inputType="textMultiLine|textCapSentences" android:maxLength="100" android:scrollbars="vertical" android:hint="This is my cool hint"/> </android.support.design.widget.TextInputLayout>

12
在Kotlin中具有参数的Singleton
我正在尝试将Android应用程序从Java转换为Kotlin。应用中有一些单例。对于没有构造函数参数的单例,我使用了一个伴随对象。还有另一个采用构造函数参数的单例。 Java代码: public class TasksLocalDataSource implements TasksDataSource { private static TasksLocalDataSource INSTANCE; private TasksDbHelper mDbHelper; // Prevent direct instantiation. private TasksLocalDataSource(@NonNull Context context) { checkNotNull(context); mDbHelper = new TasksDbHelper(context); } public static TasksLocalDataSource getInstance(@NonNull Context context) { if (INSTANCE == null) { INSTANCE = new TasksLocalDataSource(context); } return INSTANCE; } …
75 android  kotlin 

8
SQLite Android数据库游标窗口分配2048 kb失败
我有一个例程,每秒对SQLite数据库运行多次不同的查询。过一会儿我会得到错误 "android.database.CursorWindowAllocationException: - Cursor window allocation of 2048 kb failed. # Open Cursors = " 出现在LogCat中。 我有应用日志内存的使用情况,确实,当使用情况达到一定限制时,我会收到此错误,暗示它用完了。我的直觉告诉我,每次运行查询时,数据库引擎都会创建一个NEW缓冲区(CursorWindow),即使我将游标标记为.close(),垃圾回收器和SQLiteDatabase.releaseMemory()释放内存的速度够快。我认为解决方案可能在于“强制”数据库始终写入同一缓冲区,而不创建新缓冲区,但是我一直无法找到一种方法来做到这一点。我尝试实例化自己的CursorWindow,并尝试将其设置为和SQLiteCursor无济于事。 有任何想法吗? 编辑:从@GrahamBorland重新示例代码请求: public static CursorWindow cursorWindow = new CursorWindow("cursorWindow"); public static SQLiteCursor sqlCursor; public static void getItemsVisibleArea(GeoPoint mapCenter, int latSpan, int lonSpan) { query = "SELECT * FROM Items"; //would be more complex …

4
如何从片段弹出片段
我有一个活动A,该活动称为片段Bf,该活动称为片段Cf。我希望在调用Cf时将Bf放在后台,以便用户可以导航回去。但是,如果在Cf中按下了特定的按钮,我希望将Bf从后堆栈中删除。这可能吗? 我看到有一个popBackStack()函数。但是,我对如何工作感到有些困惑。使用此功能安全吗?是否有可能将不同应用程序的活动插入Bf之后的Backstack中? 此外,是否有任何方法可以在后堆栈上更改片段的savedInstanceState? 我只是不知道如何使用模拟器在后堆栈上进行可靠的测试。

1
在“编辑文本”中获取Android中的光标位置?
我正在使用自定义EditText视图。我已经覆盖了OnKeyUp事件,并且能够捕获Enter键。现在,我的要求是,当用户输入文本“嗨,你好吗?”时,然后将光标放在单词“ are”之后并按Enter,我需要获取光标位置,以便在按Enter键的那一刻可以提取光标之后的文本。请让我知道该怎么做。感谢您的时间和帮助。

15
如何在Android上使用Kotlin显示Toast?
在Android的不同Kotlin示例中,我看到toast("Some message...")或toastLong("Some long message")。例如: view.setOnClickListener { toast("Click") } 据我了解,它是的扩展功能Activity。 您如何以及在何处定义此toast()功能,以便可以在整个项目中使用它?
75 android  kotlin 

3
带有参数的Android Room @Delete
我知道我不能DELETE在查询中使用(顺便说一句很遗憾),我会收到以下错误: <i>Error:error: Observable query return type (LiveData, Flowable etc) can only be used with SELECT queries that directly or indirectly (via @Relation, for example) access at least one table.</i> 但是我不能使用@Delete(WHERE... xxx) 那么,如何通过参数删除特定行?

5
在Android Studio中添加资产文件夹
Android Studio再次更改了项目结构...现在 project └── app-module ├── manifests ├── res └── java 我一直在网上寻找无处不在,但找不到资产文件夹放在何处。当我尝试通过Android Studio中的目录查看器(右键单击“新建...”目录)创建文件夹时,“目录”选项不可用。唯一可用的选项是: Java Class File Module Package Image Asset 没有一个可以满足我在这里想要的。 有人知道吗?

5
“失败的交付结果”-onActivityForResult
我有一个LoginActivity(用户登录)。基本上,它自己Activity的主题类似于对话框(看起来就像对话框一样)。它出现在上方SherlockFragmentActivity。我想要的是:如果成功登录,则应该有两个FragmentTransaction来更新视图。这是代码: 在中LoginActivity,如果成功登录, setResult(1, new Intent()); 在SherlockFragmentActivity: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == 1) { LoggedStatus = PrefActivity.getUserLoggedInStatus(this); FragmentTransaction t = MainFragmentActivity.this.getSupportFragmentManager().beginTransaction(); SherlockListFragment mFrag = new MasterFragment(); t.replace(R.id.menu_frame, mFrag); t.commit(); // Set up Main Screen FragmentTransaction t2 = MainFragmentActivity.this.getSupportFragmentManager().beginTransaction(); SherlockListFragment mainFrag …

18
Android Studio继续获得不受支持的major.minor版本52.0
将我的项目与其他开发人员的一些更改合并后,我继续获得以下内容: Error:Cause: com/android/build/gradle/internal/model/DefaultAndroidProject : Unsupported major.minor version 52.0 我尝试安装Java 8,并将项目设置为使用Java8。如果我在命令行上将JAVA_HOME更改为1.8,并使用gradle进行编译,则它可以正常工作。如果我尝试将JAVA_HOME设置为1.7并进行gradle,它将失败,并显示相同的错误。 但是,在Android Studio中,无论JDK版本如何,它都会继续打印该错误。 其他开发人员则表示他们正在使用Java 7,没有任何问题。我尝试过的其他方法: gradle clean build gradlew clean build Reinstalling Android Studio 另一个有趣的症状是,Android Studio中的其他项目非常满意。只是这个项目有这个问题。 这是我的环境设置: OS: Mac OS X 10.9.5 Android Studio: 2.1.1 Android Studio JVM: 1.6 Project JVM: 1.7.0_75 Android SDK (Build Tools): 23.0.2 Gradle: 2.13 JAVA_HOME: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home …

15
仅某些人可以“制作本机字体”
我有一个可更改某些元素字体字体的应用程序。它对大多数人来说效果很好,但是尝试更改字体时可能会有0.5%的异常。堆栈跟踪的重要部分是: Caused by: java.lang.RuntimeException: native typeface cannot be made at android.graphics.Typeface.<init>(Typeface.java:147) at android.graphics.Typeface.createFromAsset(Typeface.java:121) 正如我所说,它对大多数人都有效,所以我认为这与字体文件或代码无关。关于如何解决这个问题的任何建议? 编辑:这是我的代码: Typeface phoneticFont = Typeface.createFromAsset(getAssets(), "fonts/CharisSILR.ttf"); TextView tv; tv = ((TextView) findViewById(R.id.searchPronunciationTitle)); tv.setTypeface(phoneticFont);

13
RecyclerView中的快速滚动
我正在尝试将新RecyclerView类用于一种情况,在这种情况下,我希望组件在滚动时能够捕捉到特定元素(以旧AndroidGallery为例,此类列表带有中心锁定项)。 到目前为止,这是我采用的方法: 我有一个接口,ISnappyLayoutManager其中包含一个方法,getPositionForVelocity该方法在给定初始掠过速度的情况下计算视图应在哪个位置结束滚动。 public interface ISnappyLayoutManager { int getPositionForVelocity(int velocityX, int velocityY); } 然后,我有了一个类,该类SnappyRecyclerView继承RecyclerView并覆盖了它的fling()方法,以使视图精确到正确的数量: public final class SnappyRecyclerView extends RecyclerView { /** other methods deleted **/ @Override public boolean fling(int velocityX, int velocityY) { LayoutManager lm = getLayoutManager(); if (lm instanceof ISnappyLayoutManager) { super.smoothScrollToPosition(((ISnappyLayoutManager) getLayoutManager()) .getPositionForVelocity(velocityX, velocityY)); } return true; …

5
Android待处理的意图通知问题
我的应用程序中发生了一件令人震惊的事情,它启动了一个通知,然后在按下时启动了一个活动。问题在于,当我创建多个警报时,从通知启动的活动将获得与第一个警报相同的附加功能。我认为问题出在我放在待定意图中的意图还是待定意图本身中。我想我可能需要在其中之一上标记,但我不知道哪一个。 Intent showIntent =new Intent(context, notificationreceiver.class); showIntent.putExtra("details", alarmname); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, showIntent, 0); notification.setLatestEventInfo(context, "The event is imminent", alarmname, contentIntent); 和通知的接收者 Bundle b = getIntent().getExtras(); String eventname = b.getString("details"); details.setText(eventname); 每次发生通知时,“详细信息”额外内容都是相同的,而不是具有不同的值。在我确定意图之前,我确定正确的值会进入“详细信息”,因此这是我每次按任何通知时获取第一个意图的问题。我如何才能启动正确的意图?希望我尽我所能,谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.