我有一个定义为的服务:
public class SleepAccelerometerService extends Service implements SensorEventListener
Run Code Online (Sandbox Code Playgroud)
从本质上讲,我正在制作一个应用程序,可以在用户使用他或她的手机/设备睡在床上时,出于各种原因监控加速度计活动.这是一项长期服务,不得在夜间杀死.根据夜间有多少后台应用程序和定期进程,android有时会终止我的进程,从而结束我的服务.例:
10-04 03:27:41.673: INFO/ActivityManager(1269): Process com.androsz.electricsleep (pid 16223) has died.
10-04 03:27:41.681: INFO/WindowManager(1269): WIN DEATH: Window{45509f98 com.androsz.electricsleep/com.androsz.electricsleep.ui.SleepActivity paused=false}
Run Code Online (Sandbox Code Playgroud)
我不想强迫用户将"SleepActivity"或我的应用中的其他活动作为前景.我不能定期运行我的服务,因为它会不断拦截onSensorChanged.
有小费吗?源代码在这里:http://code.google.com/p/electricsleep/
所以我创建了一个名为CustomTitlebarActivity的Activity子类.基本上,我的应用程序中的每个主要活动都将有一个自定义标题栏,其中包含许多常用功能,如主页按钮,标题,搜索按钮等.在我当前的实现中,我仍然在布局XML中明确使用include语句每个CustomTitlebarActivity:
<include layout="@layout/titlebar" />
Run Code Online (Sandbox Code Playgroud)
我应该能够在CustomTitlebarActivity中执行此操作,这似乎很自然.我有两个问题:什么代码可以替换此包含标记,我应该在哪里放置代码?(我的第一直觉是将它放在CustomTitlebarActivity的setContentView方法中.)
在相关的说明中,我希望能够深入了解重用Android UI代码的更好方法(即使本身标题栏需要在活动之间略有不同.)
如果有一些方法可以colors.xml
通过引用已经定义的另一种颜色来定义颜色,我一次又一次地想知道.好吧,我试了一下,确实,看起来你可以使用@ color/XXX引用其他颜色.
例如,一个colors.xml可能如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
…
<color name="primary_blue">#205081</color>
<color name="action_bar_text">@color/primary_blue</color>
…
</resources>
Run Code Online (Sandbox Code Playgroud)
但我不希望其他人primary_blue
直接使用我的定义 - 没有上下文制作蓝色的东西是没有意义的.我提出的最好的解决方案是将"直接"颜色加上前缀primary_blue
,然后注释它们不应该直接使用.
有没有办法阻止使用这些直接颜色,同时仍然允许我的colors.xml文件引用它们?我想也许样式或apklib可以帮助我.
这似乎是可能的,但我在确定如何实现ViewPager
无限期页面时遇到一些麻烦.
我的用例是一个日历,一次显示一个月,但可以通过分页足够的时间切换到任何月份.
目前我只是extending PagerAdapter
,并且MonthViews
添加了3个自定义,如下所示:
@Override
public Object instantiateItem(View collection, int position) {
final MonthView mv = new MonthView(HistoryMonthActivity.this);
mv.setLayoutParams(new ViewSwitcher.LayoutParams(
android.view.ViewGroup.LayoutParams.MATCH_PARENT,
android.view.ViewGroup.LayoutParams.MATCH_PARENT));
mv.setSelectedTime(mTime);
((DirectionalViewPager) collection).addView(mv, 0);
return mv;
}
Run Code Online (Sandbox Code Playgroud)
我想一次只MonthView
在内存中保存3 秒,这样MonthView
当用户使用Tab键时,在每个数据库中显示数据都没有太大的延迟.因此,每次显示新页面时,我都需要删除一个MonthView
并添加一个MonthView
.如果有人对同样的功能有更好的想法,我很乐意听到它!
我正在考虑尝试使用FragmentStatePagerAdapter
.
背景
对于Android 3.0的发展,我有一个HostActivity
是的超类NotebooksActivity
和NoteActivity
.NotebooksActivity
包括一个片段,NotebooksFragment
.
在HostActivity
,我包含一个菜单,我想在ActionBar的选项菜单的最右端显示,即子类中的所有菜单项HostActivity
应该出现在添加的菜单项的左侧HostActivity
.
菜单膨胀HostActivity
:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
final MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.host_menu, menu);
return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
问题
当我添加菜单项时NoteActivity
,我按预期实现了所需的顺序:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.notebook_menu, menu);
return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我添加菜单项时NotebooksFragment
,由于Fragments的工作方式,onCreateOptionsMenu
在相同的方法之后调用HostActivity
,导致HostActivity
菜单项出现在之前NotebooksFragment
.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.notebooks_menu, …
Run Code Online (Sandbox Code Playgroud) 在iOS 7中,我能够将共享URL缓存设置为子类,NSURLCache
并且UIWebView
我创建的任何s都会自动为每个请求使用该共享缓存.
// Set the URL cache and leave it set permanently
ExampleURLCache *cache = [[ExampleURLCache alloc] init];
[NSURLCache setSharedURLCache:cache];
Run Code Online (Sandbox Code Playgroud)
但是,现在在iOS 8中,似乎UIWebView从共享缓存中拉出并且cachedResponseForRequest
永远不会被调用.
有没有人找到这个变化的文档,或者解决方法?
我正在使用C#在大字符串中连续搜索多个字符串"关键字",这些字符串大于等于4kb.这段代码不断循环,睡眠不会在保持合理速度的同时降低CPU使用率.bog-down是关键字匹配方法.
我发现了一些可能性,并且它们都具有相似的效率.
1)http://tomasp.net/articles/ahocorasick.aspx- 我没有足够的关键字,因此这是最有效的算法.
2)正则表达式.使用实例级别,编译正则表达式. - 提供比我要求的更多功能,效率不够.
3)String.IndexOf. - 我需要做一个"智能"版本,因为它提供了足够的效率.循环遍历每个关键字并调用IndexOf不会削减它.
有谁知道我可以用来实现我的目标的任何算法或方法?
在DatabaseUtils.concatenateWhere(...)的文档中,声明它受API级别11+(HONEYCOMB)的支持.然而,在测试各种设备上的兼容性时,在我的Droid X上运行Cyanogenmod 7每晚构建98(基于姜饼2.3.5),方法调用不仅不会导致崩溃,而且按预期工作.
这与我的自定义ROM有些不一致,或者其他人是否可以在运行Gingerbread或更低版本的其他设备上重现此功能?这可能是SDK文档中的错误吗?