我已经开始在我的项目中包含proguard.但得到的警告很少.我可以通过添加来消除警告-dontwarn com.google.**.在proguard.cfg文件中.每件事都很好,但我想-dontwarn完全从我的项目中删除命令.经过一番调查后我发现这些警告是因为我在我的图书馆项目中添加了一个jar.现在我在这里几个问题.
1)我是否需要在项目属性中添加任何内容,以便progurad能够处理我的库项目.并且也没有添加任何警告(根据我的研究,我不需要我猜.请参阅此网址)
2)由于我的库项目中添加了guava.jar,我是否需要在我的应用程序proguard.cfg文件中添加一些命令来添加像-libraryjars这样的库路径.如果是,我如何添加-libraryjars.我在谈论这个例子的路径.我应该包含哪条路径,或者在我的库项目中添加jar的路径的语法是什么?
只是为了引用我正在添加错误日志.
[2014-12-11 18:00:26 - MyProject] Proguard returned with error code 1. See console
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalences$Impl$1: can't find referenced class javax.annotation.Nullable
[2014-12-11 18:00:26 - MyProject] Warning: com.google.common.base.Equivalences$Impl$1: can't …Run Code Online (Sandbox Code Playgroud) 我正面临一个关于标签滑动的问题.我的项目是基于Android 3.2构建的.我正在使用支持库4.0(android-support-v4.jar)实现选项卡滑动.所有实现的工作正常,但是当我将我的应用程序部署到ICS设备时,然后在纵向模式下,我在操作栏中获取一个微调器以供选项卡选择.在纵向模式下,尽管内容正在变化,但在完成滑动时选项卡选择不会更改,并且在横向模式下一切正常.
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayHomeAsUpEnabled(true);
// Set up the ViewPager with the sections adapter.
ViewPager mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试actionBar.setSelectedNavigationItem(position);在这一行上设置断点,甚至在纵向模式下它被调用但是选择没有改变.
任何人都可以帮忙吗?
编辑: 发现了类似的问题,但没有看到它是如何解决的,以及如何将其集成到我的代码中.
我是android的新手.我正在创建一个示例页面,其中我需要将页面背景设为白色.但是,如果没有聚焦,我的编辑文本在白色背景下是不可见的.如何在编辑文本中添加所需颜色的边框,以使其可见.除此之外,当我按下输入编辑文本框时,它正在添加一个新行.我也想删除它.任何身体都可以帮助我解决这个问题.提前致谢
现在问题始于设置形状的颜色.我创建了一个矩形形状drawable并将其设置为ImageView这样
<LinearLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="0.15"
android:layout_marginRight="10dp"
android:gravity="center_vertical">
<ImageView
android:id="@+id/iv_priority"
android:src="@drawable/case_priority"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
编辑
我的case_priority.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#009600" />
<size android:width="30dp"
android:height="30dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
现在我需要改变这个形状的颜色.实际上这种颜色来自网络服务,我需要改变它.所以我的问题是:我们如何以编程方式改变这种形状的颜色.并将其设置为imageview.我在stackoverflow中经历了一些例子,但我无法将其更改为图像视图.请帮助!!!! 提前致谢.
编辑:
可能在我的问题中我不清楚,所以只是一个提问的问题.实际上我有一个ImageView,我设置了一个实际上是drawable的源.默认情况下,它在我的代码中显示为绿色.现在Web服务返回此图像视图的颜色,需要相应地更改,因此我无法在运行时从xml更改它,所以我需要从java文件更改它.由于我使用的是形状和图像视图,因此.setBackground()在这里没什么用处.那么可能的解决方案是什么呢?感谢您的回答,抱歉给您带来不便.
我这里有一个奇怪的情况.我的应用程序是在android中使用注释.我不得不使用几个直接需要注释类的方法.但是,当我清理我的项目或开始我的日食时,导入会给我错误.
import com.black.devil.app.view.CustomDetailsItemView_ cannot be resolved
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这个问题或者有任何线索如何解决它.目前,在清理我的项目或启动eclipse后,我删除了所有的导入,然后再次重新导入帮助我解决我的错误.但每次清理/开始日食时我都需要这样做.任何永久的解决方案.我没有发布什么代码,所以告诉我是否需要发布任何其他内容.
谢谢黑魔鬼.
对我之前问题的附件参考:-内存不足
我会尽量准确。我从我的网络服务调用一个长 base64 字符串得到响应。我解码字符串并得到一个包含我的数据的巨大字符串。我反序列化字符串并使用如下字符串创建我的类的对象。
String decryptedXml = XmlObject.toDecryptedXmlString(gameDetail.getGameData(), app.getSessionEncryptionKey());
Game noviceGame = deserialiseGame(decryptedXml, NoviceGamer.class);
Run Code Online (Sandbox Code Playgroud)
desrialiseGame() 只是一种反序列化数据并创建并返回我的游戏实例的方法。为了将这个对象维护到多个会话(登录/注销),我将整个游戏数据(我的反序列化给了我游戏实例的字符串)存储在数据库中。
下次当用户登录时,为了创建游戏实例,我从我的数据库中获取字符串并再次尝试反序列化,以便我取回我的游戏实例。但是当我尝试从我的数据库中获取字符串时,我在获取字符串时遇到“内存不足”异常。
调用反序列化游戏的方法如下。
private HashMap<String, Game> games = new HashMap<String, Game>();
public void load(LocalDatabaseHelper localDbHelper) throws Exception
{
synchronized(gameLockObject) {
GameDetailDAO dao = new GameDetailDAO(localDbHelper);
//this will fetch me the all the entities from databse
ArrayList<GameDetailEntity> dbGameDetails = dao.getEntities(null, null);
for (GameDetailEntity gameDetail : dbGameDetails) {
String gameLevel = gameDetail.getDetailLevel();
String gameXml = gameDetail.getGameData();
Game game = null;
if(gameLevel.equalsIgnoreCase("Novice")) {
game = Job.deserialiseJob(gameXml, NoviceLevel.class); …Run Code Online (Sandbox Code Playgroud) 简单的问题我如何使用动作栏的getDisplayOptions()?我希望保持操作状态栏,因为我正在使用一些自定义视图来翻转我的视图.因此,在提取我的视图之前,我正在存储我的操作栏状态,以便在删除视图时恢复原始状态.我设置了很少的设置到我的操作栏
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setHomeButtonEnabled(false);
actionBar.setDisplayShowCustomEnabled(false);
actionBar.setDisplayShowHomeEnabled(true);
Run Code Online (Sandbox Code Playgroud)
因此,当我删除我的视图时,我想恢复这些设置.但我没有actionBar.isDisplayHomeAsUpEnabled()在API中看到像etc 这样的方法.虽然我看到actionBar.getDisplayOptions().但不知道如何使用它.任何人都可以帮助我实现这一目标.
我需要提供用户输入的数字的精确度,直到几位数。就像如果用户输入一些随机值并给出他希望精确到三位数那么我需要将数字四舍五入到小数点后三位。所以我做了这样的事情
int index = value.indexOf('.');
if (index >= 0)
{
String fractional = value.substring(index);
if (fractional.length() > decimalPlaces)
{
floatValue = roundOffDecimals(floatValue, decimalPlaces);
}
}
retVal = new Float(floatValue);
Run Code Online (Sandbox Code Playgroud)
但是当用户输入一些值但不输入任何小数值时,我需要将其显示为令人沮丧的值,并用零作为小数位数。比如 15 是他的数字,3 是他的准确度,那么我需要将数字显示为 15.000
当小数点总是变化时,我无法显示小数点后的零。请帮忙。我尝试过 DeciamlFormat df = new DecimalFormat("",#.##); 但采用静态值。而且我的准确度不断变化。
任何帮助将不胜感激。
我正在研究我的Android应用程序.正如我刚才开始的那样,我将版本作为版本0.01.并在string.xml中硬编码,用于线性布局.
现在我的问题是:android提供了一些方法,以便代替硬编码版本号,android提供这个.当我想更新版本时,它很容易更新.如果android没有提供这样的东西,是否有一些方法我可以通过硬编码来保存自己.
提前致谢.
实际上,当用户点击编辑文本时,我正在显示一个带有ok取消按钮的弹出窗口.我的问题是,当用户双击编辑文本时,会弹出两个弹出窗口.因此,如果用户从弹出窗口中选择了任何值,则其第二个弹出窗口仍保留在那里.
我不知道如何处理它.
任何帮助将不胜感激.提前致谢.这是我的布局
<EditText
android:id="@+id/date_control"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/bg_edit_text"
android:focusableInTouchMode="false"
android:inputType="none"
android:editable="false"
android:clickable="true"
android:layout_marginRight="5dp" />
Run Code Online (Sandbox Code Playgroud)
我的java类调用控制器
datePicker = (EditText) findView(R.id.date_control);
datePicker.setOnClickListener(myControllerClass);
Run Code Online (Sandbox Code Playgroud)
它的控制器
MyDialog myDialog = new myDialog(activity, "Select Date",
date, DateTimeDialog.DATE_PICKER);
myDialog.show();
Run Code Online (Sandbox Code Playgroud)