Как стать автором
Обновить
334
0

Пользователь

Отправить сообщение
Создайте давление срочности или важности.


Стрессовые условия существуют вне нашего желания, это данность большинства проектов
Ладно, можно простить
элеватор питч
, в конце-концов я понимаю натянутые отношения менеджера с русским языком. Но
Создайте давление срочности или важности
это уже, прошу прощения, за гранью добра и зла. Разработчик, как любой пролетарий, во-первых, не дурак, а во-вторых не имеет никакой мотивации работать кроме удовольствия от работы и денег. Вы же сейчас предлагаете искусственно вводить человека в состояние стресса, апеллируя к его чувству долга и срочности достижения целей. Текучки кадров под давлением срочности не возникает? Если нет — меня бы это насторожило.
Вам предстоит занять одну из сторон — сражаться за власть («Просвещенные»), или за повстанцев («Сопротивление»).


мне вдруг подумалось, что можно было бы сделать «айфоны против андроидов»
было бы круто, если бы не нужно было вообще ничего подключать, чтобы автомагнитола сама могла конектиться к сервисам он-лайн вещания. тогда правда придётся не забывать деньги «на магнитолу» класть)
думаю, этот иск носит показательный характер. чтобы другие распростарнители по от мейл-ру испугались
а ещё ЭТО можно как душ использовать
не уязвимости, так нагрузочное тестирование
Пример такой баги: Не могу создать аккаунт.

а как стоило бы написать заголовок, чтобы он не был общим?
монитор 21,5. так и не привык к юнити, поставил гном
наше поколение, я имею ввиду тех, кто постоянно пользуется всякими электронными штуками, живёт в постоянном неосознанном ожидании катастрофы. и эта катастрофа настолько же проста, насколько ужасна — это выключение рубильника. а любой физический объект — это надежда пережить катастрофу. как-то так
ну вроде там и так всё ясно, но если вы просите

Активити

package me.ilich.hellodocumentview;

import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.TextView;

public class QuickMainActivity extends Activity {

	ListView mListView;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_list);
		mListView = (ListView) findViewById(R.id.list);
		final QuickAdapter a = new MyQuickAdapter(this, new MyDataSource());
		mListView.setAdapter(a);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}
	
	class MyQuickAdapter extends QuickAdapter {

		public MyQuickAdapter(Context context, DataSource dataSource) {
			super(context, dataSource);
		}
		
		@Override
		public View getView(int arg0, View arg1, ViewGroup arg2) {
			long t1 = System.currentTimeMillis();
			View result = super.getView(arg0, arg1, arg2);
			long t2 = System.currentTimeMillis();
			long dt = t2-t1;
			if(dt>10){
				Log.i("Sokolov", arg0 + " " + dt);
			}
			return result;
		}

		@Override
		public View newView(Context context, Cursor cursor, ViewGroup parent) {
			View view = getLayoutInflater().inflate(
					android.R.layout.simple_list_item_1, null);
			ViewHolder vh = new ViewHolder();
			vh.tv = (TextView) view.findViewById(android.R.id.text1);
			view.setTag(vh);
			return view;
		}

		@Override
		public void bindView(View view, Context context, Cursor cursor) {
			ViewHolder vh = (ViewHolder) view.getTag();
			if(vh!=null){
				vh.tv.setText(cursor.getString(cursor.getColumnIndex("text1")));
			}
		}
		
		class ViewHolder {
			TextView tv;
		}
		
	}
	
	class MyDataSource implements QuickAdapter.DataSource {

		@Override
		public Cursor getRowIds() {
			return ((HelloDocumentView) getApplication()).mDatabase.rawQuery(
					"SELECT rowid FROM table1", new String[]{});
		}

		@Override
		public Cursor getRowById(long rowId) {
			return ((HelloDocumentView)getApplication()).mDatabase.rawQuery("SELECT * FROM table1 WHERE rowid = ?", new String[]{Long.toString(rowId)});
		}
		
	}

}


Аппликейшен

package me.ilich.hellodocumentview;

import android.app.Application;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

public class HelloDocumentView extends Application {
	
	public SQLiteDatabase mDatabase;
	
	@Override
	public void onCreate() {
		super.onCreate();
		mDatabase = openOrCreateDatabase("/mnt/sdcard/db.sqlite", Context.MODE_PRIVATE, null);
	}

}


Вам остаётся только создать базу db.sqlite с таблицей table1. Достаточно наглядно?
скажите, а это ваша принципиальная позиция — не читать статью, к которой вы пишите комментарии?
в этой статье я ставил целью ответить на вопрос «что делать?», а не «кто виноват?» :)
Прошу.
Для CursorAdapter максимальная задержка вызова метода getView составила 553 мс, для QuickAdapter — 47 мс.
сори, эти вопросы вне моей компетенции
да, мы там это ещё не внедрили
нет. даже если вы переопределите его, скажем так

		@Override
		public int getCount() {
			return 50000;
		}


то ListView всё равно будет притормаживать при быстром скроле
я всё-таки настоятельно рекомендую вам прочитать статью
если бы прочли статью… а впрочем ладно, подскажите методологию измерения задержек в ui?

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность