• Что не так в моем коде, и как подтянуть навыки?

    aratj
    @aratj
    программер.
    согласен с предыдущим оратором.

    вроде есть некие сущности , как продукты.

    но нет их моделей.
    Ответ написан
    2 комментария
  • Что не так в моем коде, и как подтянуть навыки?

    @onepavel
    Консультация и разработка мобильных приложений
    Тебе все правильно написали.
    Мой тебе совет лезть в гитхаб, качать оттуда проекты и смотреть их механику.
    Прежде чем лабать код смотрим на исходные данные.
    У тебя это json, открываем и смотрим.
    Мы видим массив одинаковых объектов. Для нашего удобства
    сообразим класс под json'овские данные
    class Product {
    int id;
    String name;
    String picture;
    String description;
    }

    Теперь нам нужно в активити их распарсить в список.
    У тебя есть объект с методом
    new JSONReadFromAsset().readJsonFromAsset(getApplicationContext());

    который возвращает json массив, а если заказчик завтра даст два таких файла !?
    мы же не хотим копипастить, а сделаем универсально и метод парсера будет возвращать сразу массив объектов, а не json данные и тогда мы выкинем лишние сущности
    ArrayList<String> nameList = new ArrayList<String>();
    ArrayList<Integer> idList = new ArrayList<Integer>();

    а вставим только один список
    List<Product> mDataList
    и тогда мы будем получать данные
    mDataList = JSONReadFromAsset.readJsonFromAsset(getApplicationContext(),"questions.json");

    Сделаем readJsonFromAsset статиком, так как JSONReadFromAsset ничего в себе не несет.
    в readJsonFromAsset должно быть что-то, вроде, такого
    readJsonFromAsset() {
    List<Product> dataList = new LinkedList();
    for () {
    Product product = new Product();
    obj = jsonArray.getJSONObject(position);
    product.id = obj.getInt("id");
    product.name = obj.getString("name");
    product.description = obj.getString("description");
    product.picture = obj.getString("picture");
    dataList.add(product);
    }
    return dataList; 
    }

    вместо методов getString, getInt я предпочитаю использовать optString, optInt
    Вариантов парсинга данных много, можно изворачиваться по разному.
    А что бы показать что ты крут, можно сделать класс Product Parcelable
    и не передавать пачку строк через бандл в интенте, а передать сразу Product объект.
    bundle.putParcelable(SomeActivity.PRODUCT, mDataList.get(position));

    В другом активити принять и с ним работать.

    Можно вот так сделать
    public static final String LINK = "ironwaterstudio.com";
    и поместить в легко доступное место или завести отдельный класс
    class Static {
    public static final String LINK =  "http://ironwaterstudio.com";
    }

    AlertDialog - насколько тебе необходимо обрабатывать setNegativeButton, попробуй не передавать обработчик кнопки, а сунуть null
    Ответ написан
    3 комментария
  • Что не так в моем коде, и как подтянуть навыки?

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

    Дело в том, что ООП предполагает множество подходов решения одной и той же задачи. А повернутые на ООП считают свой подход "самым правильным". Фактически, выполнение тестового задания похоже на "угадайку".
    Ответ написан
    2 комментария
  • Guide на русском о Actionscript 3

    DR_Demons
    @DR_Demons
    Так вроде на сайте adobe все есть, при чем видимо даже api на русском! )
    Посмотрите вот это может Вам подойдет Act567.jpg
    Ответ написан
    Комментировать
  • Вывод 3 чисел, которые в сумме дают число n

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не должны повторяться перестановки - значит для каждого множества слагаемых {a, b, c} можно найти множество {a', b', c'}, образованное перестановкой элементов исходного множества, такое, что a'<=b'<=c'. Значит каждый следующий вложенный цикл должен начинаться не с 1, а со значения итератора предыдущего цикла.
    ---
    Подумал ещё:
    При условии a<=b<=c, a+b+c=n значение a не может быть больше n/3, иначе b либо c будут б̶о̶л̶ь̶ш̶е меньше, чем a.
    Значение b не может быть больше, чем (n-a)/2, иначе c будет б̶о̶л̶ь̶ш̶е меньше b.
    Значение c будет равно (n-a-b).
    Итого, получаем
    int n = Integer.parseInt(reader.readLine());
    for (int i = 1; i <= n/3; i++) {
        for (int j = i; j <= (n-i)/2; j++) {
            System.out.println("Числа " + i + " + " + j + " + " + (n-i-j));
        }
    }
    Ответ написан
    2 комментария
  • Где искать первую работу

    AlexDS
    @AlexDS
    Чтобы найти работу надо ее искать!
    Не на сайтах, где предлагаются приработки, а в конкретных фирмах. Вы узнаете что там требуется и поймете как скорректировать свое самообразование. Кроме того опыт собеседований поможет Вам самому понять стоит ли с этой компанией иметь дело. Сейчас развелось много всяких кидалово - не попадитесь к ним на удочку.
    Ищите компании, разговаривайте с ними (лучше лично), совсем не обязательно то о чем Вы пишите станет Вашей главной работой - возможно это будет только часть Вашей работы.
    Удачи Вам!
    Ответ написан
    Комментировать
  • Почему не получается отправить капчу на pixodrom в виде base64-строки?

    Error_403_Forbidden
    @Error_403_Forbidden
    А в чём собственно проблема?
    Там же на сайте есть код
    pixodrom.com/static/Kod-na-c-sharp-dlya-raspoznava...

    и используешь

    var ac = new anticaptcha("твой_ключ");
    ac.is_russian = 1;//если русская капча, как у Яндекса
    
    string result = "";
    //а дальше используешь один из методов отправки на выбор:
    result = ac.UploadFile("captcha.jpg");
    result = ac.UploadFileBase64("captcha.jpg");
    result = ac.UploadImage(image);
    result = ac.UploadImageBase64(image);
    result = ac.UploadURL("http://site.com/captcha.jpg");
    result = ac.UploadURLBase64("http://site.com/captcha.jpg");
    
    //выдрано из метода Recognize:
    string[] pars = result.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
    if (pars.Length > 1 && pars[0] == "OK")
    {
    	id = Convert.ToInt64(pars[1]);//демаю, что конвертировать в long не обязательно, можно оставить строкой
    	string url = String.Format("http://pixodrom.com/res.php?key={0}&action=get&id={1}", key, id);
    	result = "CAPCHA_NOT_READY";
    	while (result == "CAPCHA_NOT_READY")
            {
            	Thread.Sleep(3000);
                    result = GetPage(url);
                    Console.WriteLine("{0}", result);
    	}
    }
    Ответ написан
    1 комментарий