小编fra*_*lbo的帖子

cakePHP3:如何通过redirect()向操作发送参数?

在一个动作中,我想通过重定向将发送参数发送到另一个动作。

因此,当我在文档(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)不会显示任何传递的参数。

问候,

cakephp cakephp-3.0

3
推荐指数
1
解决办法
5106
查看次数

如何在Android中执行chmod - API 8?

在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之前工作而不改变文件权限?

linux android chmod media-player

2
推荐指数
1
解决办法
6060
查看次数

CakePHP3.2:我无法删除依赖关联

我应该犯一个大错误,因为我已经做过好几次了,但我真的不明白为什么删除关联只部分有效:

我的实体是这样声明的:

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)

cakephp-3.x

2
推荐指数
1
解决办法
1367
查看次数

不懂如何使用adapterViewFlipper动画

我不明白如何使用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)

android

1
推荐指数
1
解决办法
3405
查看次数

如何选择包含关联的字段?

我想执行以下查询,我只想从关联中读取必要的字段。
我在下面使用了点符号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)

select cakephp query-builder cakephp-3.x

1
推荐指数
1
解决办法
4098
查看次数

CakePHP3.4:如何发送 json 对象响应?

我尝试迁移到 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)

cakephp-3.4

1
推荐指数
1
解决办法
1287
查看次数

@android在哪里:drawable寻找?

当我尝试使用默认的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对如何使用它没有多大帮助.
有帮助吗?

android android-drawable

0
推荐指数
1
解决办法
606
查看次数

如何只选择那些至少有一个关联记录的记录?

我有以下关联: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

cakephp query-builder cakephp-3.1

0
推荐指数
1
解决办法
749
查看次数

Thread() 在 Kotlin 中如何工作?

我想在线程内执行任务并编写了以下代码:

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秒后

我在这里犯了什么错误?

multithreading android kotlin

-1
推荐指数
1
解决办法
5142
查看次数