Ромен Гай находится там, где он находится.
Минимальная версия:
Bitmap bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.image)).getBitmap();
Bitmap bitmapRounded = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
Canvas canvas = new Canvas(bitmapRounded);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setShader(new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
canvas.drawRoundRect((new RectF(0.0f, 0.0f, bitmap.getWidth(), bitmap.getHeight())), 10, 10, paint);
imageView.setImageBitmap(bitmapRounded);
Направляющие обрабатывают 99%-й случай: довольно маловероятно, что необходимо было бы когда-либо делать любой XML или переводы JSON в действии Редактирования, потому что невидимо, действие Редактирования в значительной степени точно так же, как Выставочное действие. Невидимые клиенты, которые хотят обновить модель в Вашем приложении, могут назвать контроллер этим путем
GET /my_models/[:id].xml (Show)
Затем клиентское приложение может сделать любые преобразования или редактирования и сообщение (или поместить), результаты к
PUT /my_models/[:id].xml (Update)
При вызове этого Вы обычно делаете его для получения доступной для редактирования формы Выставочного действия:
GET /my_models/[:id]/edit
И это предназначается для человеческого использования. 99% времени, которое является. Так как необычно преобразовать данные в действие Редактирования, направляющие предполагает, что Вы не идете в, и DRYs Ваш код путем упущения respond_to из лесов.
Несколько связанный. Некоторые могут задаться вопросом, почему леса направляющих для нового действия все еще имеют respond_to блок; тогда как действие редактирования не делает. Это вызвано тем, что запрос к чему-то как:
GET /my_models/new.xml
... отдает шаблон XML, который может использоваться для создания новой модели.
Поскольку действие редактирования только назовут от HTML нет никакой потребности в форме редактирования, которая будет возвращена в контексте XML. Используя REST, Вы просто выполняете помещенный вызов непосредственно для обновления с релевантной информацией.