在一个动作中,我想通过重定向将发送参数发送到另一个动作。
因此,当我在文档(http://book.cakephp.org/3.0/en/controllers.html#redirecting-to-other-pages)中阅读此文件时:
return $this->redirect(['action' => 'edit', $id]);
Run Code Online (Sandbox Code Playgroud)
我写:
public function activate($user_id, $token) {
//.... of course $user->username is not null here
return $this->redirect(['action' => 'login', $user->username]);
//....
}
Run Code Online (Sandbox Code Playgroud)
在我的目标动作中:
public function login($username = null) {
//...
debug($username); // just displays null
//...
}
Run Code Online (Sandbox Code Playgroud)
我不知道问题是在redirect()还是在login()中。无论如何,debug($ this-> request)不会显示任何传递的参数。
问候,
在Android 2.3上运行我的应用程序播放mp3时遇到问题.这些mp3从远程服务器下载到/data/data/com.my.package.name/,默认文件权限为-rw -------.
与后期HONEYCOMB设备不同(根据我的测试),如果媒体播放器的文件权限不是-rw-rw-rw-,则媒体播放器拒绝读取mp3.
我很明显地证实,如果我使用adb shell将文件权限设置为666,那么媒体播放器就会成功读取它.
所以,经过网上的一些研究,我试着在写完文件之后实现以下代码:
String chmodString = "chmod 666 " + getActivity().getApplicationContext().getFilesDir().getParentFile().getPath() +"/" + fileName;
Process sh = Runtime.getRuntime().exec("su", null, new File("/system/bin/"));
OutputStream osChgPerms = sh.getOutputStream();
try {
osChgPerms.write((chmodString).getBytes("ASCII"));
osChgPerms.flush();
osChgPerms.close();
sh.waitFor();
} catch (InterruptedException e) {
Log.d("2ndGuide", "InterruptedException." + e);
} catch(IOException e) {
Log.d("2ndGuide", "IO Exception." + e);
}
Run Code Online (Sandbox Code Playgroud)
这段代码是在片段中执行的,但我认为这不会改变任何东西.
不幸的是,如果此代码适用于HONEYCOMB后设备,那么它无用,
osChgPerms.write((chmodString).getBytes("ASCII"));
Run Code Online (Sandbox Code Playgroud)
抛出一个IOException: broken pipe on Android 2.3我真正需要它的地方.
事实上,我真的不知道问题是来自chmod还是来自执行它的方式.
任何让它工作的解决方案,或者让媒体播放器在HONEYCOMB之前工作而不改变文件权限?
我应该犯一个大错误,因为我已经做过好几次了,但我真的不明白为什么删除关联只部分有效:
我的实体是这样声明的:
class SitemessagesTable extends Table {
public function initialize(array $config) {
$this->table('sitemessages');
$this->displayField('title');
$this->addBehavior('Timestamp');
$this->hasMany('SitemessageTitles', [
'dependent' => true,
]);
}
}
class SitemessageTitlesTable extends Table {
public function initialize(array $config) {
$this->table('sitemessage_titles');
$this->displayField('title');
$this->belongsTo('Sitemessages');
$this->hasOne('SitemessageTexts', [
'dependent' => true,
]);
$this->hasOne('SitemessageImages', [
'dependent' => true,
]);
}
}
class SitemessageTextsTable extends Table {
public function initialize(array $config) {
$this->table('sitemessage_texts');
$this->displayField('text');
$this->belongsTo('SitemessageTitles');
}
}
class SitemessageImagesTable extends Table {
public function initialize(array $config) {
$this->table('sitemessage_images');
$this->displayField('image');
$this->belongsTo('SitemessageTitles');
}
} …Run Code Online (Sandbox Code Playgroud) 我不明白如何使用adapterViewflipper动画.我在API13中,我在Fragment中使用了一个adapterViewFlipper.
所以在My xml文件中我只有:
<AdapterViewFlipper
android:id="@+id/avfPicturesSite"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="@drawable/gradientbackground"
>
</AdapterViewFlipper>
Run Code Online (Sandbox Code Playgroud)
我在getView()中动态创建ImageView.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
final ViewHolder viewHolder = new ViewHolder();
view = new ImageView(context);
viewHolder.img = (ImageView) view;
view.setTag(viewHolder);
} else {
view = convertView;
}
ViewHolder viewHolder = (ViewHolder)view.getTag();
viewHolder.img.setImageURI(getItem(position));
return view;
}
Run Code Online (Sandbox Code Playgroud)
我用按钮浏览图像,我尝试设置动画.似乎sitePicturesFlipper.setInAnimation(Context context,int resourceID)正在等待AnimatorSet.
nextSitePicture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
//sitePicturesFlipper.setInAnimation(R.animator.right_in);
sitePicturesFlipper.setInAnimation(getActivity(), R.anim.left_in);
sitePicturesFlipper.setOutAnimation(getActivity(), R.anim.right_out);
sitePicturesFlipper.showNext();
}
}); …Run Code Online (Sandbox Code Playgroud) 我想执行以下查询,我只想从关联中读取必要的字段。
我在下面使用了点符号select()来更好地解释我想要的内容。
基本上select()似乎只是关心Users。是否可以指定 的字段Sites?
$orders = $this->Orders->find()
->contain([
'Sites.Users'=> function ($q) {
return $q
->select([
'Sites.id',
'Sites.user_id',
'Users.id',
'Users.name',
'Users.owner_id',
'Users.firstname',
'Users.lastname'
])
->autoFields(false);
},
])
->first();
Run Code Online (Sandbox Code Playgroud) 我尝试迁移到 3.4,但在发送 json 对象时遇到问题。到 3.3,我使用了以下代码:
$jsonSites = json_encode([
'reqLocation' => [
'latitude' => $latitude,
'longitude' => $longitude
],
'sites' => $sitesList,
'discoveryBooks' => $discoveryBooksList,
'deleteSites' => !empty($inDeviceSites) ? [$inDeviceSites] : [],
'deleteBooks' => !empty($inDeviceBooks) ? [$inDeviceBooks] : []
]);
$this->response->type('application/json');
$this->response->body($jsonSites);
Run Code Online (Sandbox Code Playgroud)
我的客户收到了这样的对象:
{
"reqLocation": {
"latitude": 48.080563,
"longitude": 4.4649
},
"sites": [
{
"id": 5076,
"name": "...",
"modified": "2017-01-28T03:03:23+00:00",
"directory_name": "fr/26/26120_56cc30ea4d907",
"type": "portail",
"longitude": 7.031953,
"latitude": 47.939468,
"image_0": "jpg",
"picto_color": "#FFDDDDDD",
"agthemes": [],
"distance": 131.29188575851,
"category": 1281,
"category_name": "Jardin",
"sitecategories": …Run Code Online (Sandbox Code Playgroud) 当我尝试使用默认的Android图标时,我使用:
android:icon="@android:drawable/ic_"
Run Code Online (Sandbox Code Playgroud)
在Android Studio上,如果我点击ctrl-space,我会得到一个可用ic_图标列表.
我想他们来自android-sdks文件夹但是,如果是的话,到底在哪里?
作为我的targetSdkVersion ="22",我想我可以找到这些图标,并从https://github.com/google/material-design-icons中添加更多图标,在android-sdks/platforms/android-22/data/res/那里我可以找到drawable-xhdpi和所有其他图标,但显然,情况似乎并非如此.
http://google.github.io/material-design-icons/#icons-for-android对如何使用它没有多大帮助.
有帮助吗?
我有以下关联:OrdersbelongsToSites
我执行以下查询:
$sites = $this->Sites->find('all')
->select(['id', 'name'])
->contain([
'Users' => function ($q) {
return $q->select(['id', 'owner_id', 'firstname', 'lastname']);
},
'Orders' => function ($q) {
return $q->where(['status >' => 0]);
},
'Orders.Agplans'
])
->matching('Users', function ($q) use($owner_id)
{
return $q->where([
'Users.owner_id' => $owner_id
]);
})
->all();
Run Code Online (Sandbox Code Playgroud)
但大多数网站都没有订单,所以我得到了一些结果:
(int) 100 => object(App\Model\Entity\Site) {
'id' => (int) 7966,
'name' => 'Site example',
'orders' => [],
'users' => [
(int) 0 => object(App\Model\Entity\User) {
...
Run Code Online (Sandbox Code Playgroud)
是否可以在查询中指定我只想sites不为空orders?
我想在线程内执行任务并编写了以下代码:
Thread().run {
Log.i("TEST", "in thread")
Thread.sleep(5000);
transactionStatus = ApiFactory.getInstance().transactionService.abortTransaction()
synchronized(TestTransactionPayAbort.lock) {
TestTransactionPayAbort.lock.notify()
}
}
Log.i("TEST", "main")
synchronized(TestTransactionPayAbort.lock) {
TestTransactionPayAbort.lock.wait()
}
Run Code Online (Sandbox Code Playgroud)
根据调试器的说法,在执行之前Thread().run{},我位于线程 4 内。执行之后Thread.sleep(),调试器告诉我线程 4 正在休眠,而我原本期望看到线程 5 正在休眠。关于Log():我立即在线程和主线程中看到: 5秒后
我在这里犯了什么错误?
android ×4
cakephp ×3
cakephp-3.x ×2
cakephp-3.0 ×1
cakephp-3.1 ×1
cakephp-3.4 ×1
chmod ×1
kotlin ×1
linux ×1
media-player ×1
select ×1