这就是我配置APP的小部件的方法:
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="240dp"
android:minHeight="193dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/xyz_appwidget"
android:configure="com.xyz.activity.Configuration"
/>
Run Code Online (Sandbox Code Playgroud)
因此,Configuration一旦用户将小部件放在主屏幕上,系统就会调出活动.遗憾的是,如果未应用配置,则不应将此窗口小部件放在屏幕上.
我添加了一些调试输出.当用户为其主屏幕选择小部件时会发生这种情况.注意:这是配置活动在前面的时候,而不是小部件.
I/ActivityManager( 101): Start proc com.xyz for broadcast com.xyz/.widget.xyz.XyzWidgetProvider: pid=14371 uid=10050 gids={3003, 1015}
D/XyzWidgetProvider(14371): onReceive: android.appwidget.action.APPWIDGET_ENABLED
D/XyzWidgetProvider(14371): onEnabled
D/XyzWidgetProvider(14371): onReceive: android.appwidget.action.APPWIDGET_UPDATE
Run Code Online (Sandbox Code Playgroud)
这意味着即使未配置窗口小部件,也会触发两个事件(ENABLED,UPDATE).启用对我有意义,但更新显然不是.特别是当Configuration活动成功完成时,不会发送任何其他UPDATE事件.
我还读到,通过设置Configuration活动的结果,Activity.RESULT_CANCELED可以取消配置过程.但由于这显然是异步运行,我不知道如何使配置过程阻塞?以前遇到过这个人吗?
我的最后一点:我查看了Android Gallery Widget,它以某种方式正确管理,因此不会添加未配置的图库窗口小部件.但我怀疑一些HTC 魔术,因为日志不是很有帮助.
对于某些面向图片的应用程序,我需要在放大后显示大图片和可滚动区域以及更多细节.
在iOS中看到了讨论和示例CATiledLayer,这似乎在那里完成了工作.
是否有针对Android的CATiledLayer"端口"或类似的东西?
在一个片段中,在一个活动中调用我正在显示这样的总线行列表:

然后,一旦用户点击"站点",我当然希望显示站点列表.我正在使用此代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_long_distance);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.f_long_distance, new LongDistanceFragment()).commit();
}
@SuppressWarnings({"UnusedDeclaration"})
public void showStationList(View view) {
String tag = (String) view.getTag();
if (tag != null && tag.length() > 0) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
StationListFragment fragment = new StationListFragment(tag.split(","));
ft.add(R.id.f_long_distance, fragment);
// ft.replace(R.id.f_long_distance, fragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
此活动的XML是:
<LinearLayout
android:id="@+id/ll_container"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<FrameLayout
android:id="@+id/f_long_distance"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
StationListFragment是一个显示在另一个上面的简单ListFragment:

尽管ActionBar运行良好,它现在只适用于Title.
什么是行不通的,如果我现在回来.站点列表已隐藏,但旧的ActionBar未恢复:

文档说添加ActionBar的方法是使用onCreateOptionsMenu方法等. …
我们为iPad/iPhone制造了一个新配件,它应该将命令传输到iPad.我们喜欢使用UART(通过某种名为Lingo的 Apple协议).我的研究表明,我只能使用USB(30PIN连接器)和自定义协议.
题:
我的主要猜测是UART命令和访问是iPhone OS保留的协议,不适用于Apps.某些UART命令还包括卷和音频重新路由等设置,所以我猜这是安全的.
嘿! (在这里为长篇文章道歉)
我正在编写一些基于相同代码的应用程序.
每个应用程序都会有差异,有些会有新的活动,所有的都会分配不同的资源.
我正在尝试使用Android库项目,以便将所有公共代码放在一个位置,因此只需进行一次主要更改,所有项目都将更新.
现在,资源是一个简单的解决方案,因为我可以在主应用程序中定义每个资源,只要命名约定保持不变,这些资源将覆盖库项目中的资源.
现在,我的问题是如何对课程做同样的事情?例如,ill有一个基本视图作为所有视图中公共代码的包装器.在此,我发起各种活动.如果所有三个应用程序需要启动不同的活动,因为它们将包含不同的UI和功能,该怎么办?我该怎么做?库项目永远不会知道主项目想要使用不同的活动,因为它已经被编译.
我有几个我想到的解决方案,但我想知道是否有其他人有想法?这对任何反馈都有很大的帮助:
要启动的库项目中的活动存储对要加载的类的引用,该引用将在主应用程序启动时定义.这是当库项目调用此活动时,它可以加载它被告知的内容.
我保留了库项目活动中不会改变的所有功能.然后我扩展了这个活动,并覆盖onCreate以执行我需要的操作(例如加载不同的布局,设置视图等).现在这有一个缺点,因为我必须在我的主应用程序而不是库项目中定义大多数入口点.
我希望你关注我的问题.请问我是否解释过这个问题.
谢谢,
亚当
我正在尝试创建双屏幕设置.Android平板电脑(Nexus 10)使用HDMI连接到另一个屏幕.
在平板电脑上播放电影(使用VLC或其他应用程序)时,它将在两个屏幕上正确显示.
但是,音频信号仅通过HDMI传输.使用的SOUNDabout应用我们设法对音频输出或者耳机或HDMI.
我看不到同时为两个设备设置音频输出的功能.我尝试使用音频管理器进行设置,但它仅适用于一个频道.
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setSpeakerphoneOn(true);
am.setWiredHeadsetOn(true);
Run Code Online (Sandbox Code Playgroud)
我注意到的另一件事是setParameters API,然后将变量传递给平台Audio系统.这可能是ALSA,也许解决方案在那里?
在最近的一个项目中,facebook User可以使用他们的Facebook UID登录,根据文件上传或从他们的个人专辑上传等内容上传图片.
在development环境中我的本地系统上的一切都很好用.通过Facebook登录,退出,上传 - 一切都很棒.
在production虽然我面临着未知和难以调试的问题.似乎每隔一段时间(实际上可以在将新内容上传Submission到系统时可重现)会话丢失,图片不会上传并且facebook用户已注销(!).
我正在使用设计和omniauth.Omniauth已集成到Devise中.
以下是触及Devise/Omniauth或者的所有代码User.
应用程序/模型/ user.rb
class User < ActiveRecord::Base
devise :omniauthable, :rememberable, :omniauth_providers => [:facebook]
def self.create_with_omniauth(auth)
u = User.find_by_uid(auth["uid"])
return u unless u.nil?
create! do |user|
user.provider = auth["provider"]
user.uid = auth["uid"]
user.name = auth["user_info"]["name"]
user.email = auth['user_info']['email']
end
end
def after_signin_path
'/competition'
end
end
Run Code Online (Sandbox Code Playgroud)
:rememberable我希望数据库包含所有需要的字段.
应用程序/控制器/用户/ omniauth_callbacks_controller.rb
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def facebook
# You need to implement the method below in …Run Code Online (Sandbox Code Playgroud) 鉴于我正在开发一个简单的ListFragment(在这种情况下,它从MediaStore读取艺术家列表,但稍后也将从不同的源读取数据),如下所示:
@EFragment
public class ArtistsFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> {
private static final String TAG = ArtistsFragment.class.getName();
private SimpleCursorAdapter mAdapter;
Uri uri = MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI;
CursorLoader mCursorLoader;
@AfterViews
void setupView() {
mAdapter = new SimpleCursorAdapter(getActivity(),
android.R.layout.simple_list_item_1, null,
new String[]{MediaStore.Audio.Artists.ARTIST}, // lists path of files
new int[]{android.R.id.text1}, 0);
setListAdapter(mAdapter);
getLoaderManager().initLoader(0, null, this);
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
if (mCursorLoader == null) {
mCursorLoader = new CursorLoader(getActivity(), uri, new String[]{MediaStore.Audio.Artists._ID, MediaStore.Audio.Artists.ARTIST},
null, null, MediaStore.Audio.Artists.ARTIST + " ASC");
} else …Run Code Online (Sandbox Code Playgroud) Function,Array和Object构造函数的长度静态属性是什么?
静态方法有意义,但长度静态属性呢?
Object.getOwnPropertyNames(Array)
["length", "name", "arguments", "caller", "prototype", "isArray"]
Object.getOwnPropertyNames(Function)
["length", "name", "arguments", "caller", "prototype"]
Run Code Online (Sandbox Code Playgroud)
注意:我得到的是关于Function.prototype的长度属性的答案,这里没有提到.
Object.getOwnPropertyNames(Function.prototype)
["length", "name", "arguments", "caller", "constructor", "bind", "toString", "call", "apply"]
Object.getOwnPropertyNames(Object)
["length", "name", "arguments", "caller", "prototype", "keys", "create", "defineProperty", "defineProperties", "freeze", "getPrototypeOf", "getOwnPropertyDescriptor", "getOwnPropertyNames", "is", "isExtensible", "isFrozen", "isSealed", "preventExtensions", "seal"]
Run Code Online (Sandbox Code Playgroud) 是否可以使用特殊的iOS API或通用TextInput字段读取非标准键的键代码?我有一个带有特殊按钮的多媒体键盘,可让我的iPad应用程序了解这些密钥代码.
我知道iOS已经可以使用其中一些(即音量增大/减小,下一首/上一首曲目).