我想用,比如:
$em = $this->getEntityManager();
Run Code Online (Sandbox Code Playgroud)
在实体内部.
我知道我应该将此作为一项服务,但出于某些测试目的,我想从实体访问它.
是否有可能实现这一目标?
我试过:
$em = $this->getEntityManager();
$profile_avatar = $em->getRepository('bundle:Perfils')->findOneByUser($this-getId());
Run Code Online (Sandbox Code Playgroud)
但是没有用.
致命错误:调用未定义的方法代理\ webBundleEntityUserProxy :: getEntityManager()在 /opt/lampp/htdocs/web/src/Pct/bundle/Entity/User.php上线 449
我为什么要这样做呢?
我有3种用户:Facebook,Twitter和MyOwnWebsite用户.他们每个都有不同的头像链接Facebook的个人资料,推特或其他,如果它的myownwebsite用户,我从数据库中的URL检索头像.目前,我不想创建服务,因为我只是想让它工作,测试它,而不是创建一个最终部署.所以这就是我试图从实体中调用实体管理器的原因.到目前为止,我不想修改配置文件,只需修改此实体.
我创建了一个类来从PHP文件中检索JSON编码的注释.这个类从AsyncTask扩展而来:
public class RecuperarComentarisFoto extends AsyncTask<String, String, String>{
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(????);
pDialog.setMessage("Creating Product..");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
}
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我正试图在"doInBackground"进程工作时显示ProgressDialog.但progressDialog构造函数,请求一个Context,我不知道如何提供它.
我从Fragment调用这个类,所以我不能像这样访问上下文:
pDialog = new ProgressDialog(MyFragmentA.context);
Run Code Online (Sandbox Code Playgroud)
称为"主要"活动:AndroidViewPagerActivity,它扩展了FragmentActivity.
(主要的,我的意思是它是创建选项卡,并管理它们之间的导航.)
这是它的代码:
public class AndroidViewPagerActivity extends FragmentActivity {
ViewPager mViewPager;
TabsAdapter mTabsAdapter;
/** Called when the activity is first created. */ …Run Code Online (Sandbox Code Playgroud) java android android-context android-asynctask android-fragments
我有这个正则表达式:
if (cadena.matches("^[a-zA-Z ]+$")) return true;
Run Code Online (Sandbox Code Playgroud)
它接受从A到Z的小写和大写.也接受空格.
但这只适用于英语.例如,在加泰罗尼亚语中我们有'ç'字符.我们还有'á'或'à'等字符.
有些谷歌和我找不到任何方法来做到这一点.
我发现我可以过滤掉UTF-8,但这会接受不是字母的字符.
我该如何实现呢?
我正在使用AsyncTask类从php文件下载数据.下载后,我想把这些数据放到不同的TextViews中,但我不能使用findViewById方法.
问题是,我是通过单独的类来完成的,而这一切都在一个片段中.
这是我的代码:
public class RecuperarComentarisFoto extends AsyncTask<String, String, String>{
private Context mContext;
[...]
public RecuperarComentarisFoto(Context context){
this.mContext=context;
}
@Override
protected void onPreExecute() {
[...]
}
@Override
protected String doInBackground(String... arg0) {
params.add(new BasicNameValuePair("pid", "1"));
JSONObject json = jsonParser.makeHttpRequest(url_get_comentaris, "GET", params);
JSONArray productObj;
//HERE I RETRIEVE DATA FROM JSON. ITS WORKING OK.
return null;
}
Run Code Online (Sandbox Code Playgroud)
我遇到问题的地方:
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
this.pDialog.dismiss();
TextView comentariEditText = (TextView) findViewById(R.id.commentsMostrar);
}
Run Code Online (Sandbox Code Playgroud)
我试过这个:
TextView comentariEditText = (TextView) mContext.findViewById(R.id.commentsMostrar);
Run Code Online (Sandbox Code Playgroud)
但是也不行.
请注意,我从片段中调用此AsyncTask.如您所见,我必须将getActivity()检索的上下文传递给AsyncTask:
public class …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
/**
* Sets a new Locale for the APP.
* @param newLocale - Valid new locale.
*/
private static void setLocale( String newLocale )
{
Locale locale = new Locale( newLocale );
Locale.setDefault( locale );
Configuration config = new Configuration();
config.locale = locale;
context.getResources().updateConfiguration( config, context.getResources().getDisplayMetrics() );
}
Run Code Online (Sandbox Code Playgroud)
简单.
然而,当我在智能手机(4.1.1)中运行它时,它确实可以正常工作.设备更改字符串以匹配语言.
但是对于平板电脑(4.3),它不起作用.如果我输出如下内容:
Log.d("TAG",Locale.getDefault());
Run Code Online (Sandbox Code Playgroud)
Locale似乎在两台设备上都有所改变,但正如我所说,Strings没有被翻译成正确的语言.
我做了很多调试,我发现了对象之间的区别:查看4.1.1上的Configuration对象:

并查看平板电脑上的配置对象(4.3)

正如您所看到的,唯一值得注意的差异是userSetLocale在平板电脑上设置为False.
所以我检查了Google SourceCode(https://github.com/android/platform_frameworks_base/blob/master/core/java/android/content/res/Configuration.java),它说明:
/**
* Locale should persist on setting. This is hidden because it is really
* questionable whether …Run Code Online (Sandbox Code Playgroud) 我在我的android服装应用程序中有几条评论说我的应用程序在两个设备上看起来不太好:
ZenWatch和Sony SmartWatch3.我收集了DPI和两者的分辨率:ZenWatch - 320x320圆形278dpi 1.63英寸SmartWatch3 - 320x320平方283dpi 1.6英寸.
现在,我正在尝试进一步运行APP而不是基本模拟器.但是,我只能使用两种配置:

我已经尝试编辑它的配置文件,没有运气.在配置文件中,我无法找到屏幕大小.只是DPI,看起来像任何配置改变,被忽略.
以下是我发现有趣的所有配置:
hw.lcd.density=240
Run Code Online (Sandbox Code Playgroud)
没有屏幕尺寸,没有分辨率.只是lcd密度,对我来说看起来像DPI,但现在我不确定.所以我无法模仿上述两种设备中的任何一种.
关于这个的任何提示?
编辑2015年6月6日:我无法运行我配置的设备:

如您所见,显示黄色警告,其中显示以下内容

所以我无法运行我创建的任何设备.
想象一下,我有一个名为的布局文件夹layout-port.此布局包含您在下图(手机)中可以看到的两种布局.另一方面,我有一个layout文件夹,当屏幕方向不是纵向模式时使用,所以它是横向的.

但是,当我使用小屏幕旋转设备时,它将使用纵向布局,但由于屏幕太小,它不是最佳的并且看起来不太好,因为两个片段布局主要针对至少600dp平板电脑.
所以问题是, 有什么方法可以使用限定符来设置最小宽度大于600的Landscape布局?
我一直在检查文档http://developer.android.com/guide/practices/screens_support.html但它似乎无法组合最小的宽度和方向.
正如标题所说,当我尝试禁用相机时,Android会忽略它,一旦我尝试使用某些相机功能,它们就能完美无缺地工作.

并检查设备中的应用:

任何提示在Android模拟器中执行完全禁用相机?
谢谢!!编辑:仍然没有线索.我试过Windows和Mac.两者都发生了同样的事情.
这个问题可能听起来有点愚蠢,但缺乏文档.
为了在Android中散列字符串,我们可以使用MessageDigest,它来自java.security包.
但是,基本设置如下:
MessageDigest.getInstance( "SHA-512" );
Run Code Online (Sandbox Code Playgroud)
因此,这并不酷!
我们可以知道当前设备上有哪些算法可用吗?它取决于什么?Android SDK?Java SDK?这在Android中很痛苦,因为我们要处理的细分......
为什么我们没有这个字符串的常量/枚举??? 它们对全世界都不常见吗?
我希望你能回答我的两个问题.
谢谢.
我正在尝试使用以下代码为两个片段之间的事务设置动画:http: //developer.android.com/training/animation/cardflip.html
但结果恰恰如下:http://developer.android.com/training/animation/anim_card_flip.mp4
但是,我想要这个结果:https://www.youtube.com/watch?v = 52mXHqX9f3Y
不同之处在于,即使旋转180度,第二个也使用不同的相机(Z轴).
所以问题是:
谢谢.
编辑:检查差异.
